使用query_posts()
过滤wordpress主查询的类别时,以下查询会附加到主查询中:
AND ( wp_term_relationships.term_taxonomy_id IN (6,19,4501,5482,7401) ).
我添加的代码是:
query_posts( $query_string . '&cat=4496,6,19' );
我只需要'4496,6,19'
类别的帖子,而不是'6,19,4501,5482,7401'
。
答案 0 :(得分:0)
尝试query_posts( $query_string . '&cat=4496,6,19,-6,-19,-4501,5482,7401' );
您还可以在this link
中尝试以下操作答案 1 :(得分:0)
您应该不惜一切代价避免使用query_posts
。这不仅仅是我,它直接来自于手抄本。我引用
此功能不适用于插件或主题。如后面所述,有更好的,更高性能的选项来改变主查询。 query_posts()是一种过于简单化和有问题的方法来修改页面的主要查询,方法是用新的查询实例替换它。它是低效的(重新运行SQL查询)并且在某些情况下会彻底失败(特别是在处理帖子分页时)。
只需使用pre_get_posts
function my_home_category( $query ) {
if ( $query->is_home() && $query- >is_main_query() ) {
$query->set( 'cat', '4496,6,19' );
}
}
add_action( 'pre_get_posts', 'my_home_category' );
将此添加到您的functions.php中。这只会在主页上显示所选的类别。您可以根据需要更改条件