我使用get\\u posts()调用来获取特定类别中的帖子列表。然而,记录集还包括目标类别子类别中的帖子。
如何从查询中排除子类别?
$cat = get_query_var( \'cat\' );
$catHidden=get_cat_ID(\'hidden\');
$args = array(\'cat\' => "$cat,-$catHidden");
$myposts = get_posts($args);
我使用get\\u posts()调用来获取特定类别中的帖子列表。然而,记录集还包括目标类别子类别中的帖子。
如何从查询中排除子类别?
$cat = get_query_var( \'cat\' );
$catHidden=get_cat_ID(\'hidden\');
$args = array(\'cat\' => "$cat,-$catHidden");
$myposts = get_posts($args);
如果您使用category__in
和category__not_in
相反,它将只提取该类别中的帖子,而不提取子类别中的帖子。对于您的代码,如下所示:
$args = array(
\'category__in\' => $cat,
\'category__not_in\' => $catHidden
);
注意:这将仅排除直接属于该类别的帖子。如果要排除该类别及其子类别中的帖子,请使用cat
使用否定语法。此外,如果您需要更强大的查询,可以使用tax_query
参数,该参数将允许您设置include_children
您要查询的每个分类法和术语的参数。
我创建了一个包含所有现有类别的下拉列表的元框。页面管理员应该能够从下拉列表中选择一个类别,该类别将由wordpress的保存/更新页面功能保存。<select name=\"event-dropdown\" onchange=\'document.location.href=this.options[this.selectedIndex].value;\'> <option value=\"\"><?php echo esc_attr(__(\'Select Ev