我需要显示来自自定义帖子类型的帖子,但是从一个特定类别,我使用下面的代码,但显示所有类别的所有帖子,而不仅仅是7。
<?php
$args = array( 'post_type' => 'tour', 'posts_per_page' => 10, 'cat=7' , 'taxonomy' => 'tourcat');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
echo "TEST TEST TEST TEST";
echo the_title();
echo '<div class="entry-content">';
the_content();
echo '</div>';
endwhile;
?>
答案 0 :(得分:0)
这不是WP Query的有效参数。
cat=7
请在此阅读有关分类学查询的信息,他们应该按照您的要求进行操作: https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
答案 1 :(得分:0)
目前,您的$args
数组只保存一个cat=7
元素,这是将参数传递给WP_Query
构造函数的错误方法。请注意,如果使用空格格式化$args
数组,问题会更加明显:
$args = array(
'post_type' => 'tour',
'posts_per_page' => 10,
'cat=7' , /* Here is the problem */
'taxonomy' => 'tourcat'
);
我相信您的$args
数组应如下所示:
$args = array(
'post_type' => 'tour',
'posts_per_page' => 10,
'cat' => 7,
'taxonomy' => 'tourcat'
);
答案 2 :(得分:0)
此,
$args = array( 'post_type' => 'tour', 'posts_per_page' => 10, 'cat=7' , 'taxonomy' => 'tourcat');
应该是,
$args = array( 'post_type' => 'tour', 'posts_per_page' => 10, 'tax_query' => array( array( 'taxonomy' => 'tourcat','field' => 'ID','terms' => '7' ) ));
答案 3 :(得分:0)
试试这个:
$postData = new WP_Query(array(
'post_type' => 'tour', // custom post type
'posts_per_page'=>10,
'tax_query' => array(
array(
'taxonomy' => 'tourcat', //custom taxonomy name
'field' => 'id',
'terms' => 7
)
)
));
if($postData->have_posts()):
while ($postData->have_posts()): $postData->the_post();
echo "TEST TEST TEST TEST";
the_title();
echo '<div class="entry-content">';
the_content();
echo '</div>';
endwhile;
endif;