Intereting Posts
Пользовательский шаблон сообщения для определенной категории SFTP определяет в wp-config.php WordPress плагин / код, чтобы скрыть все вещи, связанные с пользователем от общественности Правила перезаписи Создание настраиваемого типа сообщений в качестве плагина? Зачем? Как обеспечить демонстрацию WordPress для новых клиентов Сортировка сообщений по первой букве в заголовке, а не по первому номеру get_page_template ничего не возвращает Различные видео для разных сообщений Взаимосвязь между двумя таксономиями и специальным типом сообщения Несколько циклов в пользовательском шаблоне типа сообщения? Добавить дочерние страницы родителя в navbar PHP Разделить длинную форму на несколько страниц После обновления до 4.8 постоянные ссылки не будут работать (все 404) как перенаправить на другой пост без получения заголовков уже отправленных ошибок?

Как исключить пользовательскую таксономию из цикла post

Есть ли простой или простой способ исключить все сообщения из пользовательской таксономии в цикле? Я выгляжу высоко и низко, и ни SE, ни SO, ни Google не имеют прямого ответа.

Я знаю, что это можно сделать с помощью WPDB-запроса, но это просто похоже на массивную веревку, чтобы прыгать за что-то, что должно быть довольно простым.

Solutions Collecting From Web of "Как исключить пользовательскую таксономию из цикла post"

Вы хотели бы использовать оператор NOT EXISTS вместе с передачей таксономии slug, который говорит, что запрос не включает какую-либо выбранную категорию из вашей пользовательской таксономии внутри цикла.

Чтобы исключить все сообщения, которые находятся в таксономии «фрукты» (независимо от вида фруктов), вот фрагмент:

 $args = array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'fruit', 'operator' => 'NOT EXISTS' ) ) ); $query = new WP_Query( $args ); 

Решение этого на самом деле не распространяется, но должно быть.

Вы можете сделать следующее:

 $args['tax_query'] = array( array( 'taxonomy' => 'category', 'terms' => array('cat', 'dog'), 'field' => 'slug', 'operator' => 'NOT IN', ), ); query_posts($args); 

Аргумент оператора может принимать другие термины, но приведенный выше код в основном говорит о получении всех сообщений из категории таксономии, которые не имеют терминов «кошка» или «собака».

Вот как это сделать для пользовательских типов сообщений и пользовательских таксономий:

 $happening = new WP_Query( array( 'post_type' => 'news', // only query News post type 'tax_query' => array( array( 'taxonomy' => 'news-cat', 'field' => 'slug', 'terms' => 'media', // exclude items media items in the news-cat custom taxonomy 'operator' => 'NOT IN') ), ) ); 

Это отлично работало, чтобы исключить пользовательскую таксономию из пользовательского типа сообщения. Просто хотел добавить код цикла запроса, чтобы завершить фрагмент: while ($ the_query-> has_posts ()): $ the_query-> the_post ();

Я использую «RYO» Category Visibility «WordPress Plugin», который, похоже, работает очень хорошо.

На странице администратора вы можете выбрать, какие категории видны или исключены из разных областей.

http://ryowebsite.com/wp-plugins/category-visibility/

-Адам

Я сделал следующее, чтобы исключить должности определенного термина таксономии:

 $argos = array( 'tax_query' => array ( array( 'taxonomy' => 'topics', // My Custom Taxonomy 'terms' => 'college', // My Taxonomy Term that I wanted to exclude 'field' => 'slug', // Whether I am passing term Slug or term ID 'operator' => 'NOT IN', // Selection operator - use IN to include, NOT IN to exclude ), ), 'post_type'=>'page', // Post type I want to show, can be a custom post type too 'posts_per_page' => -1, 'orderby' => 'title', 'order'=>'ASC', 'post_parent' =>$post->ID // show child posts or pages of current page/post ); $query = new WP_Query( $args ); 
 query_posts( array( 'post_type' => 'listings', 'tax_query' => array( array( 'taxonomy' => 'status', 'field' => 'slug', 'terms' => 'sold', 'operator' => 'NOT IN' ), ) ) ); 

Этот код исключает статус => продается из post_type => listings