Intereting Posts
Ошибка входа в систему Buddypress переходит в wordpress admin login Как я могу скрыть «на складе» на странице «продукт» администратора? Как параметр redirect_to добавлен в wp_login.php при попытке доступа к wp-admin? Постоянная ссылка на все сообщения? Независимо от настройки чтения Вопрос о Messing с категориями страниц и описаниями wp.getUsersBlogs XMLRPC Brute Force Attack / Vulnerability Как получить список путей (не URL-адресов) для изображения Пользовательский код для динамического меню WordPress Как перенаправить ссылку на новую ссылку? форма пользовательского поиска для пользовательских сообщений Как медиабиблиотека определяет, есть ли в файле PDF изображения предварительного просмотра? Можно ли установить значения по умолчанию для настраиваемых полей в настраиваемом типе сообщений, пока мой плагин активирован? На локальной машине не удается войти в систему или сбросить пароль, но я могу войти в онлайн-версию, у пользователя есть ключ активации в базе данных Сайт, помещенный в WordPress, снова запрашивает логин при использовании www get_page_by_title с апострофом в переменной

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

Я могу выбирать сообщения по моей пользовательской таксономии, как описано в кодексе . Но я не уверен, как мне настроить 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 поскольку это может привести к неожиданному выводу