你好,如果下面的查询没有结果,我正在尝试显示一些信息。像<P> There are no upcoming Events</p>
我如何检查数组的长度以知道它是否包含帖子
这是代码
<?php
$now = date('Ymd');
$frontPageEvents = new WP_Query(array(
'posts_per_page' => 2,
'post_type' => 'event',
'meta_key' => 'event_date',
'orderby' => 'meta_value_num',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'event_date',
'compare' => '>=',
'value' => $now,
'type' => 'numeric'
)
)
));
while ($frontPageEvents -> have_posts()){
$frontPageEvents -> the_post();
?>
<div class="">
<div class="">
<div class=""> <?php
$date = new DateTime(get_field('event_date'));
echo $date->format('d');
?> <br> <?php echo $date->format('M'); ?></div>
</div>
<div class="">
<img class=""src="<?php the_post_thumbnail_url('eventFrontThumbnail') ?>" alt="">
</div>
<div class="">
<div class="">
<h3> <?php the_title(); ?></h3>
</div>
<div class=""><?php echo wp_trim_words(get_the_content(),10); ?></div>
<div class=""> <p>
<a class="btn btn-primary"href="<?php the_permalink(); ?>">read more...</a>
</p>
</div>
</div>
</div>
<?php } ?>
所以
while ($frontPageEvents -> have_posts()){
$frontPageEvents -> the_post();
?>
如果没有upcoimg事件,我想显示一段而不是一些提示
答案 0 :(得分:1)
使用empty函数简单地检查数组是否为空。
if (empty($frontPageEvents)) {
echo 'There are no upcoming events';
} else {
while ($frontPageEvents -> have_posts()){
$frontPageEvents -> the_post();
?>
如果有事件输出,别忘了右括号}
。
答案 1 :(得分:1)
只需使用一些条件:
<?php if (!$frontPageEvents->have_posts()){ ?>
<p> some thing </p>
<?php }
while ($frontPageEvents -> have_posts()){
$frontPageEvents -> the_post();
?>
...
函数have_posts()
返回一个布尔值。您可以在此处阅读文档: