Intereting Posts
Страница параметров: значения не отображаются на панели управления В какой последовательности перехватываются крючки, когда публикация «публикуется»? Изменение CSS для зарегистрированных пользователей Internet Explorer игнорирует мой css как связать профиль автора с инструментами Google для веб-мастеров в многопользовательском блоге? «GET / HTTP / 1.1« 304 186 »-« внутри access_log для сайта WordPress, но работает администратор Получение дополнительных сообщений в WordPress через AJAX Взаимосвязь между производительностью и размером базы данных Импорт данных геоданных в базу данных wordpress перестройка старого блога Не удается войти в WordPress Admin с балансировщиком нагрузки с завершением SSL Действие: отредактировать настраиваемый тип сообщения? Как добавить пользовательский статус для быстрого редактирования Разрешение пользователям редактировать только свою страницу и Элементы меню Custom Nav по умолчанию – «menu-item-type» => «custom». Как сделать пункт меню «страница»?

Выберите должности, у которых нет отношений в пользовательской таксономии

Я могу выбирать сообщения по моей пользовательской таксономии, как описано в кодексе . Но я не уверен, как мне настроить tax_query, если я хочу получить только сообщения, которые вообще не имеют отношения к пользовательской таксономии. Любое предложение?

Solutions Collecting From Web of "Выберите должности, у которых нет отношений в пользовательской таксономии"

Я нашел ответ сам, для тех, кто приземляется здесь Google:

$taxq = array( array( 'taxonomy' => 'story_lng', 'field' => 'id', 'operator' => 'NOT EXISTS', ) ); 

Это приводит к

 AND (NOT EXISTS( SELECT 1 FROM wp_term_relationships INNER JOIN wp_term_taxonomy ON wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id WHERE wp_term_taxonomy.taxonomy = 'story_lng' AND wp_term_relationships.object_id = wp_posts.ID)) AND wp_posts.post_type = 'story' AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private') 

который в основном такой же, как предложенный Pieter Goosen, но объединен в один запрос (и меньше строк кода).

Единственный способ – получить все условия и исключить должности, принадлежащие этим условиям

 $taxonomy = 'my_tax'; $terms = get_terms( $taxonomy, ['fields' => 'ids'] // Get only IDS ); // Setup your query args $args = [ 'tax_query' => [ [ 'taxonomy' => $taxonomy, 'terms' => $terms, 'operator' => 'NOT IN' // Skip posts belonging to the passed terms ] ], // any other args ]; $q = new WP_Query( $args ); 

Вы бы хотели убедиться, что на самом деле у вас есть термины, а не пустой массив или объект WP_Error поскольку это может привести к неожиданному выводу