当自定义字段在While循环中具有值时打印html

时间:2018-06-22 作者:RRR

我只想在get\\u字段(\'cennik\\u title\')在循环中为其分配了值时打印HTML块,当自定义字段中没有插入值时,应该跳过该块,但在这段代码中,HTML块正在打印,即使我没有为“cennik\\u title”自定义字段插入值,我也使用了unset(),但它不起作用,我可以通过其他方式实现它吗?

<div class="card-body ouroffer">

<?php 
$args = array( \'post_type\' => \'cennik_post\',
\'category_name\' => \'Stylizacja Rzęs i Paznokci\',
\'orderby\' => \'date\',
\'order\'   => \'ASC\',);
$cennik_query = new WP_Query ($args);
$i=1;
if(have_posts()) : while ( $cennik_query->have_posts() ) : $cennik_query -> the_post();
?>

    <?php $ct = get_field(\'cennik_title\');
    if (isset($ct)):
    ?>

    <ol>
        <li><?php the_field(\'cennik_title\'); ?></li>
        <li>
            <ul>

                <?php
                endif; 
                ?>

                <li><a href="<?php echo get_post_permalink() ?>"><span><?php echo   $i . ". " ?><?php the_title(); ?></span></a><span><?php the_field(\'cena\'); ?> zł / <?php the_field(\'trwania\'); ?> min</span></li>

                <?php
                if (isset($ct)):
                ?>

            </ul>
        </li>
    </ol>

    <?php
    endif; 
    ?>

<?php
$i++;
unset($ct);
endwhile; endif;
?>
</div>

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

isset() 是此处使用的错误函数。$ct 已设置,因为您正在此处设置:

$ct = get_field(\'cennik_title\')
isset() 只有在以下情况下才会为false$ct 从未定义或设置为NULL. get_field() 将返回false 如果没有值,则为空字符串isset() 将返回true 对于那些。

您想检查它是否有值,但不是false或empty。最简单的方法就是:

if ( $ct ) :

结束

相关推荐

自定义帖子类型主题single.php中显示的单个帖子类型

我正在创建一个插件,其中我创建了一个自定义帖子类型的智能事件,我想通过一个页面为该类别下的单个帖子提供服务。这就是为什么我创建了一个名为:single-event.php 直接进入插件文件夹-类似-event > single-event.php我用这个函数来加载单个页面function myevent($template) { if (\'event\' == get_post_type(get_queried_object_id()) && !$template) {&#