Intereting Posts
Подсайты нескольких сайтов перенаправляют на root, если www не используется в URL-адресе Как настроить поддомен для изображений на Debian Apache VPS? Почему я получаю ошибку Parse: синтаксическая ошибка, когда я использую 'wp_is_mobile'? Как получить доступ к данным wp_usermeta сразу после создания нового пользователя Экран комментариев в бэкэнд, как отключить визуальный редактор при ответе на комментарий Как получить WP_User_Query с несколькими аргументами роли Сайт с аддоном домена не показывает CSS Добавление URL-адреса перезаписи для базы + детей отдельно Показывать the_date со ссылкой WordPress tinyMCE Keep Wrapping <p> Теги для HTML-кодов при сохранении Добавить категорию в post permink Как добавить RSS-виджет с помощью WP-CLI? Как настроить сущность (post-type?) Со многими зависимыми объектами (больше post-types?) Как структурировать плагин Как использовать различные заголовки для разных страниц с помощью этого шаблона?

Как исключить пользовательскую таксономию из цикла 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