需要wordpress任务的帮助
我想从子类别的所有职位被排除在外。
示例:
如果我用香蕉发帖子,我不希望它出现在派或蛋糕上。我只想用香蕉发布的帖子用香蕉显示,而不是用顶级类别。
我该怎么做?
我找到了一个代码,可以将其放入函数中。php,但它对第一个类别起到了作用,但对第二个类别却没有。
function fb_filter_child_cats($query) {
$cat = get_term_by(\'name\', $query->query_vars[\'category_name\'], \'category\');
$child_cats = (array) get_term_children( &$cat->term_id, \'category\' );
// also possible
// $child_cats = (array) get_term_children( get_cat_id($query->query_vars[\'category_name\']), \'category\' );
if ( !$query->is_admin )
$query->set( \'category__not_in\', array_merge($child_cats) );
return $query;
}
add_filter( \'pre_get_posts\', \'fb_filter_child_cats\' );
SO网友:gmazzap
不要更改模板,请更改not 使用query_posts
.
将此添加到function.php
:
add_action(\'pre_get_posts\', \'filter_out_children\');
function filter_out_children( $query ) {
if ( is_main_query() && is_category() && ! is_admin() ) {
$qo = $query->get_queried_object();
$tax_query = array(
\'taxonomy\' => \'category\',
\'field\' => \'id\',
\'terms\' => $qo->term_id,
\'include_children\' => false
);
$query->set( \'tax_query\', array($tax_query) );
}
}