我一直在寻找高和低和答案,但我不肯定实际上这是可能的!排除所有子类别的wp_query
我从几乎所有的东西拉职位WP_Query,但是,我希望排除特定类别和/或它的所有子类。
各地的人们搜索还没有找到一个解决方案。
这里是到目前为止我的查询:
$args = array(
'post_type' => 'sell_media_item',
'cat' => -98,
'orderby' => 'desc',
'paged' => $paged,
'posts_per_page' => 20
); ?>
<?php $loop = new WP_Query($args); ?>
我以为只是排除cat 98
将抓住所有的子类别太多,但显然不是。
我已经尝试使用:
category__not_in
,depth=0
,parent=0
甚至an adaptation of this,没有运气。
任何想法?
[编辑] 我使用一个名为集合的自定义分类,因此将'collection' => 'vip'
放入查询意味着它只会显示此集合。我在想,如果有一种方法来扭转这种情况,那么它会排除集合呢?
由于这是不可能列出所有将出现在这里他们将改变所有的时间类别。
[编辑2] 在下面的意见的讨论后,这里的更新的代码。
$ex = array(
'taxonomy' => 'collection',
'child_of' => 98,
'hide_empty' => 0
);
$categories = get_categories($ex);
$categoriesToExclude = array();
foreach ($categories as $category) {
$categoriesToExclude[] = $category->cat_ID;
}
echo('<pre>'); var_dump($categories);
$args = array(
'post_type' => 'sell_media_item',
'category__not_in' => $categoriesToExclude,
'orderby' => 'desc',
'paged' => $paged,
'posts_per_page' => 20
); ?>
<?php echo('<br /><pre>'); var_dump($args); ?>
<?php $loop = new WP_Query($args); ?>
请问其实我的类别是自定义分类以任何方式影响呢?似乎没有工作:/ – lukeseager
你在'$ categoriesToExclude'数组中得到了什么?也许你需要在'get_categories()'中指定一个类型或者东西,不确定。查看'get_categories()'的文档。 –
Yea刚刚检查了这个,在$ args中添加'taxonomy'=>'collection'似乎没有改变任何东西 – lukeseager