Intereting Posts
do_shortcode не работает на некоторых страницах Добавить программную кнопку Paypal Группировка CPT и таксономии в группы меню в admin Отображение количества черновиков в разделе «Сообщения» боковой панели администратора Как отображать только сообщения, назначенные определенной, изолированной, подкатегории Ajax вызов функции всегда возвращает 0 в переднем конце (без плагина) фильтрация специальных символов из post slug Крюк или функция загрузки медиа через URL-адрес Как совместить внутри функции _e () правильный путь? перемещение элемента подменю admin в позицию верхнего уровня Разный баннер на главной странице добавить дополнительный параметр в ловушку по умолчанию в wordpress Как создать выделенную папку для определенной роли через регистрацию Почему этот запрос wpdb get_results не возвращает результат? Добавить выдержку на плагин Quicksand

wp_dropdown_pages с условием tax_query

Я показываю выпадающий список пользовательских типов сообщений в wordpress. Этот первый блок кода использует WP_Query

$houseQuery = new WP_Query( array( 'post_type' => 'house', 'order' => 'ASC', 'post_status' => 'publish', 'orderby' => 'title', 'nopaging' => true, 'tax_query' => array( array( 'taxonomy' => 'teamtype', 'field' => 'slug', 'terms' => 'sectorteam', // exclude house posts in the sectorteam custom teamtype taxonomy 'operator' => 'NOT IN') )) ); if( $houseQuery ->have_posts() ) : while ($houseQuery ->have_posts()) : $houseQuery->the_post(); if(get_the_ID()==$c) $name=$post->post_title; echo '{ value:'.get_the_ID().', label: "'.get_the_title(get_the_ID()).'"},'; endwhile; endif; 

Это второй отрезок кода, который использует метод wp_dropdown_page () и немного более кратким

 $args = array ( 'id' => 'house', 'name' => 'house', 'echo' => 1, 'post_type' => 'house' ); wp_dropdown_pages($args); 

Мне нужно исключить должности, определенные «tax_query» в первом примере, но я уверен, как это можно сделать с аргументами, которые использует wp_dropdown_pages.

Я хотел бы только вызвать один запрос как часть решения.

Интересно, что код для wp_dropdown_pages включает в себя следующее:

Возможно, но не подтверждено, некоторые параметры для функции get_pages могут быть использованы для wp_dropdown_pages.

Это должно быть по крайней мере отчасти верно, поскольку я предполагаю, что ваше использование post_type в качестве аргумента является успешным. В этом случае exclude также выстрел.

В цикле companyList создайте массив идентификаторов сообщений, чтобы исключить:

 $name=$post->post_title; echo '{ value:'.get_the_ID().', label: "'.get_the_title(get_the_ID()).'"},'; $exclusions[] = get_the_ID(); 

Затем просто введите этот аргумент в wp_dropdown_pages :

 $args = array ( 'id' => 'house', 'name' => 'house', 'echo' => 1, 'post_type' => 'house', 'exclude' => $exclusions );