没有term_id
参数You need a tax_query
.
$args = array(
\'post_type\' => \'my_post\',
\'posts_per_page\' => 6,
\'tax_query\' => array(
array(
\'taxonomy\' => \'yourtaxname\',
\'field\' => \'id\',
\'terms\' => 1
)
)
);
$query = new WP_Query( $args );
注意,我使用了
new WP_Query
而不是
query_posts
. 不使用
query_posts
.
执行上述操作将创建一个新查询。也就是说,除了已请求的任何信息之外,它还将请求数据中的信息。这很好,如果这是您所需要的,但是如果可能的话,最好在检索任何帖子之前更改主查询。这将减少服务器上的负载,从而缩短站点的加载时间。
中断主查询使用pre_get_posts
. 这将是执行此操作的等效代码。
function restrict_tax_wpse_100006($qry) {
if (is_page(\'somepage_id_title_or_slug\')) {
$qry->set(\'post_type\',\'my_post\');
$qry->set(\'posts_per_page\',6);
$qry->set(\'tax_query\',
array(
array(
\'taxonomy\' => \'yourtaxname\',
\'field\' => \'id\',
\'terms\' => 1 // or array(1)
)
)
);
}
}