ACF-如果该字段为空,如何不显示数据

时间:2018-07-03 13:54:29

标签: php wordpress advanced-custom-fields

这是我的代码(有点混乱,对不起,我仍然是初学者)。我正在使用ACF(在WordPress中),而我想做的是向某些已登录的用户显示某些数据(例如:与user2相比,user1的表填充了不同的数据)。如果user1具有空的能力-该表不应显示。这就是为什么我要检查子字段“ 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; ?>

1 个答案:

答案 0 :(得分:0)

要检查ACF子字段是否为空,请结合使用get_sub_field和if语句。

您应该使用以下内容:

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

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