我有一个基本的WordPress循环,它工作正常并输出帖子,直到我尝试向循环添加分类法参数。一旦我将它添加到循环中,它就会停止输出任何内容,但不会出现PHP错误。循环在下面。
<?php
$newsLoop = new WP_Query(array('post_type' => 'news&events', 'taxonomy' => 'postcategory', 'term' => 'featured', 'posts_per_page' => 3, 'orderby' => 'post_date', 'order' => 'ASC'));
while ( $newsLoop->have_posts() ) : $newsLoop->the_post();
?>
<div class="newsEvent">
<h2><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
<p style="text-align:center;"><a href="<?php the_permalink(); ?>">Read More</a></p>
</div>
<?php endwhile; wp_reset_postdata(); ?>
我已经尝试一起删除帖子类型参数,只是查询分类法,也没有运气。我在这里缺少什么或者没有正确做到吗?
答案 0 :(得分:1)
我几周前就已经开始做类似的工作了,这就是我给你的东西:
在Functions.php中的:(注册分类法)。
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'news-category' ),
);
register_taxonomy( 'news-tax', array( 'news&events' ), $args );
现在查询:
<?php $args = array( 'news-tax' => 'postcategory', 'post_type' => 'news&events', 'orderby' => 'post_date','order' => 'ASC', 'posts_per_page' => -1);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();?>
让我知道这是否有效!此外,您是否能够在没有任何分类的情况下成功查询“新闻和事件”?也许&amp; amp引起了问题?无论哪种方式,我都尝试了很多方法,而且上面的方法对我来说是无缝的。
答案 1 :(得分:0)
您必须使用tax_query
参数:
$args = array(
'post_type' => 'news&events',
'tax_query' => array(
array(
'taxonomy' => 'postcategory',
'field' => 'slug',
'terms' => 'featured'
)
),
'posts_per_page' => 3,
'orderby' => 'post_date',
'order' => 'ASC'
);
$newsLoop = new WP_Query( $args );
检查文档:http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters