Intereting Posts
В чем разница между фильтром esc_html и фильтром attribute_escape? как вызвать WordPress API из другой существующей системы PHP Удаление сообщения из результатов запроса WP Различать страницы вложений в результатах поиска Какую функцию я могу использовать, чтобы переопределить ограничение на максимальное количество файлов с максимальным размером файла? Что делать, чтобы иметь доступ к функциям WordPress Как уменьшить максимальный размер файла загрузки? Проблемы с сохранением динамического метабокса Плагины и элементы меню, удаленные из панели администратора Изменить регистрационную форму WooCommerce / способ? Добавьте кнопку mailto рядом с настраиваемой ссылкой для загрузки поля Есть ли ссылка на документацию для форм на странице меню и настройке? Обновление параметра users_can_register? WordPress Admin очень медленный Крючок для написания текстовой строки после сценариев нижнего колонтитула

Пользовательский тип сообщения, пользовательская таксономия, сообщения о запросах только из таксономии (дети)

У меня есть пользовательский тип сообщения (тип портфеля) с пользовательской иерархической таксономией (категория портфеля)

Теперь я хотел бы запросить только сообщения из potrfol-type, поэтому я делаю:

$paged = 1; if ( get_query_var('paged') ) $paged = get_query_var('paged'); if ( get_query_var('page') ) $paged = get_query_var('page'); query_posts( '&post_type=portfolio-type&paged=' . $paged ); 

И до сих пор все отлично работает. Теперь я хотел бы запросить только сообщения, которые есть в любом, о детях таксономии «категорий» категории пользовательской таксономии с данным идентификатором.

Поэтому я попробовал:

 $paged = 1; if ( get_query_var('paged') ) $paged = get_query_var('paged'); if ( get_query_var('page') ) $paged = get_query_var('page'); $query_args = array( 'post_type' => 'portfolio-type', 'cat' => $CAT_ID, 'paged' => $paged, ); query_posts( $query_args ); 

Не удалось (нет результатов), но я понимаю, почему. эти должности не входят в стандартную категорию, но в категорию пользовательской таксономии, поэтому, глядя на wp Codex, это то, с чем я пришел:

 $query_args = array( 'post_type' => 'portfolio-type', 'paged' => $paged, 'tax_query' => array( 'taxonomy' => 'portfolio-category', 'field' => 'id', 'terms' => $CAT_ID ) ); 

Сбой снова, но на этот раз все пользовательские сообщения из отображаемых post_type типов портфолио (tax_query не работает, независимо от того, какой идентификатор я ставлю, результат все равно)

Что мне не хватает?

Solutions Collecting From Web of "Пользовательский тип сообщения, пользовательская таксономия, сообщения о запросах только из таксономии (дети)"

Проблема заключалась в том, чтобы недостаточно внимательно прочитать документацию;)

Поскольку он находится в http://codex.wordpress.org/Class_Reference/WP_Query в разделе «tax_query», «tax_query принимает массив массивов аргументов налоговых запросов», поэтому правильная часть кода будет:

 $query_args = array( 'post_type' => 'portfolio-type', 'paged' => $paged, 'tax_query' => array( array( 'taxonomy' => 'portfolio-category', 'field' => 'id', 'terms' => $CAT_ID ) ), ); 

Недопустимый массив () в существующем массиве () был проблемой. Спасибо hakre :).