微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – WordPress,如果没有来自循环的结果,则不显示标题

我正在使用WP_Query在wordpress中循环自定义帖子类型.我的循环看起来像这样:

<div class="bigRedStrip">
    <h2>Available Now!</h2>
</div>

<ul>
    <?PHP $loop = new WP_Query( array( 'post_type' => 'films', 'post_child' => 0, 'posts_per_page' => 8,'orderby' => 'date', 'order' => 'ASC', 'film-categories' => 'blu-ray' ) ); ?>

    <?PHP while ( $loop->have_posts() ) : $loop->the_post(); ?>

            <li>
             loop stuff here
            </li>

    <?PHP endwhile; ?>
</ul>

如您所见,在循环之前有一个标题,显示“立即可用!”.我想重新格式化循环,所以如果没有返回的帖子,那么将不会显示包含标题(div类bigRedStrip)的div.我已经尝试了许多潜在的解决方案,但我遇到的问题是,所有这些“解决方案”都需要放置< div class =“bigRedStrip”>在循环内部,这导致每个返回的帖子重复标题.这个想法是让标题显示一次.我有什么想法可以做到这一点?

解决方法:

你只需要把东西分开.首先运行查询

<?PHP $loop = new WP_Query( array( 'post_type' => 'films', 'post_child' => 0, 'posts_per_page' => 8,'orderby' => 'date', 'order' => 'ASC', 'film-categories' => 'blu-ray' ) ); ?>

然后检查是否有什么:

<?PHP if ($loop->have_posts()) { ?>

<div class="bigRedStrip">
    <h2>Available Now!</h2>
</div>

...

如果是这样,只需迭代帖子:

...

<ul>
    <?PHP while ( $loop->have_posts() ) : $loop->the_post(); ?>

            <li>
             loop stuff here
            </li>

    <?PHP endwhile; ?>
</ul>

<?PHP } ?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐