ACF循环表问题复选框(WordPress)

问题描述 投票:0回答:1

我正忙于WordPress网站,并使用“高级自定义字段”插件。制作表格时遇到问题,因此有true或false的选项。我将添加到目前为止的结果的屏幕截图。

这里是当前代码:

        <div id="abonnementen-table">
        <table class="table table-hover">
            <thead>
            <tr>
                <th>Specificaties</th>
                <?php foreach($abonnementen as $abonnement){?>
                <th><?php echo $abonnement->post_title;?></th>
                <?php }?>
            </tr>
            </thead>
        <tbody>
        <?php
        $field = get_field_object('uitgebreide_specs',$abonnement->ID);
        $choices = $field['choices'];
        foreach ($choices as $choice_value => $choice_label){
        ?>
            <tr>
                <td><?php echo $choice_label;?></td>
                <?php
                foreach($abonnementen as $abonnement){
                    $values = get_field('uitgebreide_specs',$abonnement->ID);
                    $field = get_field_object('uitgebreide_specs',$abonnement->ID);
                    $choices = $field['choices'];
                    foreach ($values as $value) {
                        if ($value['value'] == $choice_value) {
                            echo '<td><i class="fas fa-check"></i></td>';
                        }
                    }
                ?>
                <?php }?>
            </tr>
        <?php } ?>
        </tbody>
        </table>

    </div>

问题是上面的代码,如果选中它,它将很好地工作,但是如果未选中该选项,则会出现问题。屏幕截图将向您显示我的问题:

enter image description here

我已经在这一点上尝试了其他方法:

if ($value['value'] == $choice_value) {
    echo '<td><i class="fas fa-check"></i></td>';
} else {
    echo '<td></td>'; // unchecked
}

但是我的列太多了-请参见下面的屏幕截图。有人可以告诉我我在做什么错吗?

enter image description here

谢谢

php wordpress checkbox foreach advanced-custom-fields
1个回答
0
投票

因此,也许您可​​以提供ACF字段的导出,我可以提供更好的答案。但是,如何像这样添加未经检查的td

$_td = 0;
foreach ( $values as $value ) {
    if ( $value['value'] == $choice_value ) {
        echo '<td><i class="fas fa-check">Y</i></td>';
        $_td++;
    }
}
if ( ! $_td ) { // add it if a TD hasn't been echoed
    echo '<td></td>'; // unchecked
}
© www.soinside.com 2019 - 2024. All rights reserved.