wordpress ACF -如何在字段为空时不显示数据

y1aodyip  于 2022-11-22  发布在  WordPress
关注(0)|答案(1)|浏览(180)

这是我的代码(有点乱,对不起,我还是个初学者)。我正在使用ACF(在WordPress中),我试图做的是向某些登录的用户显示某些数据(例如:user 1有一个表,其中填充了与user 2不同的数据)。如果user 1有空的able -该表不应该显示。这就是为什么我检查子字段'first'。如果它不是空的,则显示来自代码的所有以下数据。我做错了什么?也许我把PHP和HTML混合在一起搞砸了,我不知道。我第一次面对ACF和PHP。
我很感激任何给予的帮助。提前谢谢你。

<?php 
$first = get_sub_field( 'first' );

if( ! empty( $first ) ) : ?>
    <h4>My heading</h4>
    <div class="table-responsive">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>First</th>
                    <th>Second</th>
                </tr>
            </thead>
            <tbody>
                <?php
                if( have_rows( 'web_design_development', "$loggeduser" ) ):
                    while ( have_rows( 'web_design_development', "$loggeduser" ) ) : the_row(); ?>
                        <tr> 
                            <?php
                            $first = get_sub_field('first'); 
                            $second = get_sub_field('second');                                               
                            ?>
                            <td><?php echo $first; ?></td>
                            <td><?php echo $second; ?></td>            
                        </tr>
                    <?php endwhile; ?>
                <?php endif; ?> 
            </tbody>
        </table>
    </div>
<?php endif; ?>
3phpmpom

3phpmpom1#

若要检查ACF子字段是否为空,请结合使用get_sub_field和if语句。
您应该使用以下内容:

if ( get_sub_field( 'first' ) :
     echo '<td>' . get_sub_field( 'first') . '</td>';
endif;

要检查是否未设置,请使用if ( ! get_sub_field( 'first' ) :(注意!)。

相关问题