WordPress的:如何防止自定义分类法中显示子类别?
问题描述:
我已经创建了自定义分类,自定义帖子类型和自定义页面。 问题:Wordpress显示属于类别及其所有子类别的所有帖子。这是自定义页面的代码:WordPress的:如何防止自定义分类法中显示子类别?
global $wp_query;
$wp_query->set('post_type', $postType);
$wp_query->set('orderby', $orderBy);
$wp_query->set('order', 'ASC');
$wp_query->set('posts_per_page', 12);
$active_term = get_term_by('slug', $term, $taxonomy);
if ($active_term->parent == 0)
{
$terms = get_terms(array(
'taxonomy' => $taxonomy,
'hide_empty' => false,
'parent' => $active_term->term_id,
'orderby' => 'term_id',
'order' => 'ASC'
));
$slug_array = array();
if(count($terms) > 0)
{
foreach ($terms as $t){
$slug_array[] = $t->slug;
}
$the_slug = $terms[0]->slug;
$active_title = $terms[0]->name;
}
else
{
$the_slug = $active_term->slug;
$slug_array = array($the_slug);
$active_title = $active_term->name;
}
$tax_query = array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $slug_array,
'include_children' => false
)
);
}
else
{
$tax_query = array(
array(
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => array ($active_term->slug),
'include_children' => false
)
);
$the_slug = $active_term->slug;
$active_title = $active_term->name;
}
$wp_query->set('tax-query', $tax_query);
$wp_query->get_posts();
正如你看到的,选项“include_children” =>假设置和Wordpres一直显示所有的孩子。我不知道什么是错
答
如果这正是这就是生活的代码,那么你可能(我说的可能,“因为它没有测试这个)有一个错字在你的代码
$wp_query->set('tax-query', $tax_query);
应该
$wp_query->set('tax_query', $tax_query);
通知下划线,而不是一个连字符。
谢谢,非常感谢。有用!但是,另外。我不得不作出评论: /*如果($ active_term-> parent == 0)和其他{*/$ tax_query = array( –
非常感谢,它的工作原理! : /* if($ active_term-> parent == 0)and else {*/$ tax_query = array( and the previous line to $ wp_query-> set('tax-query',$ tax_query); //} 重复评论的道歉,但5分钟后我不能编辑相同的评论。 –