Исключите сообщения, которые имеют только категорию "Без категорий" [дублировать]
Я хочу исключить сообщения, которые только имеют категорию без категорий (т.Е. Идентификатор категории 1), но если сообщение (ошибочно) классифицировано как "Без категорий", но также имеет другие категории, я хочу включить его.
Каждое решение, которое я нашел до сих пор, исключает все сообщения с некатегоризированной категорией, будь то у них есть другие категории или нет. Я пробовал:
'category__not_in' => array('1')
И
'cat' => -1
В аргументах запроса, но я не получаю нужных мне результатов. Есть ли способ обойти это?
1 answers
Отрабатывая ответ Питера Гусена на этот вопрос, обходной путь состоит в том, чтобы создать список всех категорий, кроме той, которую вы хотите исключить, а затем выполнить поиск сообщений, которые их включают. Таким образом, если сообщение имеет исключенную категорию, но также и другие категории, оно будет включено. Итак, в моем случае:
$args = array ('exclude'=>1,'fields'=>'ids');
$exclude_uncategorized = get_terms('category',$args);
, А затем включите следующее в $args
для wp_query
:
'category__in' => $exclude_uncategorized,