我使用此代码获取该类别下的所有帖子(名称:“Quiques”,slug:“Quiques”),这是一种自定义的分类法(slug是st\\u ai\\u cat)。
// the query
$term_name = get_query_var(\'taxonomy\'); // current taxonomy
$cat_name = get_query_var( \'term\' ); // curent cat name
echo $term_name;
echo $cat_name;
$wp_query = new WP_Query(array(\'post_type\'=>\'st_ai\',
\'post_status\' => \'publish\',
\'tax_query\' => array(
array(
\'taxonomy\' => $term_name,
\'field\' => \'slug\',
\'term\' => $cat_name,
)
)
));
if ( $wp_query->have_posts() ) {
echo "good";
}
?>
但它总是一无所获。如果我删除tax\\u查询,那么它可以显示自定义分类下的所有帖子。但我只想得到属于问答类的帖子。为什么会发生这种情况?我再次检查了它的用法。
非常感谢。
最合适的回答,由SO网友:Maxime 整理而成
尝试按类别ID更改$cat\\U名称。
$term_name = get_query_var(\'taxonomy\'); // current taxonomy
$cate = get_queried_object();
$cat_id = $cate->term_id; // current category ID
echo $term_name;
echo $cat_id;
$wp_query = new WP_Query(array(\'post_type\'=>\'st_ai\',
\'post_status\' => \'publish\',
\'tax_query\' => array(
array(
\'taxonomy\' => $term_name,
\'field\' => \'slug\',
\'term\' => $cat_id,
)
)
));
if ( $wp_query->have_posts() ) {
echo "good";
}
?>