我无法使此查询正常工作。虽然我有三篇文章属于“公司新闻”和“测试”类别,但它只呈现了一篇文章。
有人能看到我的代码有问题吗?
<?php
$myquery = array(
\'post_type\' => \'post\',
\'tax_query\' => array(
\'relation\' => \'OR\',
array(
\'taxonomy\' => \'category\',
\'field\' => \'slug\',
\'terms\' => array(\'test\', \'firm-news\'),
)
),
\'posts_per_page\' => 5,
\'orderby\' => \'RAND\',
);
$m = new WP_Query( $myquery );
if ( $m->have_posts() ) : $m->the_post();?>
<ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endif; wp_reset_postdata(); ?>
谢谢
马特
最合适的回答,由SO网友:s_ha_dum 整理而成
您没有循环查看结果。以下是您的代码:
$m = new WP_Query( $myquery );
if ( $m->have_posts() ) : $m->the_post();?>
<ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endif;
wp_reset_postdata(); ?>
没有循环。你只需检查帖子是否存在,回复一些关于第一个帖子的信息,然后退出。
if
不是循环。这是有条件的。你需要
while
.
您需要:
$m = new WP_Query( $myquery );
while ( $m->have_posts() ) : $m->the_post(); ?>
<ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endwhile;
wp_reset_postdata(); ?>