我建议您使用pre_get_posts
过滤器或沟渠query_posts
和使用WP Query
.
这样您就可以轻松使用category__not_in (array)
参数,而不会弄乱任何其他循环。
function exclude_category($query) {
// this requires term id instead of term name so change "20" to the "sport" id
// this assumes "sports" is in a category and not a custom taxonomy
$child_cats = (array) get_term_children(\'20\', \'category\');
//only effect main home page query
if ( $query->is_home() && $query->is_main_query() ) {
$query->set(\'category__not_in\',array_merge(array(\'20\'), $child_cats));
return $query;
}
}
add_filter(\'pre_get_posts\', \'exclude_category\');
附言:我没有测试这一点,但理论上它应该是可行的。