Intereting Posts
Что именно делает инструмент импорта? Использование admin-ajax предотвращает регулярную отправку php-формы Как создать и заполнить несколькими ссылками меню в дочерней теме functions.php? Как реализовать навигацию AJAX в WordPress? Фильтровать результаты поиска по типу персонализированного сообщения Записывание сценария в нижний колонтитул помещает его в самое нижнее Отправка сообщений с передней стороны – дезинфекция данных Как сделать папку wordpress (/ wordpress) перенаправлена ​​на /? Добавление переменной сеанса и / или cookie на основе выбранного пользователем ввода Добавить нединамическую фразу / символ после заголовка страницы? Перевод текста (WooCommerce) WordPress добавляет текст, отфильтрованный текст, внутри тега последнего абзаца контента (а не после него) Запретить загрузку меню в шаблоне страницы Удалите определенный shortcode из get_the_content () Как стилизовать сообщения, выбирающие CSS post_class (добавленные через custom_fields?)?

Используйте get_post_types для запроса только пользовательских типов сообщений

Мне нужно запрашивать только пользовательские типы сообщений – это все типы сообщений в моей установке WP, исключая сообщения и страницы. Я использовал get_post_types для создания строки всех пользовательских типов сообщений, которые я хочу запросить:

 $args=array( 'public' => true, 'exclude_from_search' => false, '_builtin' => false ); $output = 'names'; // names or objects, note names is the default $operator = 'and'; // 'and' or 'or' $post_types=get_post_types($args,$output,$operator); // Loop thru the cpts and assign a related taxonomy to a variable $posttypes_array = ""; foreach ($post_types as $post_type ) { $posttypes_array .= "$post_type, "; } $posttypes_array = rtrim($posttypes_array, ', '); echo $posttypes_array; 

Вывод для переменной $posttypes_array – это строка:

 'puzzles', 'quizzes', 'challenges', 'tales', 'can_you_help' 

Моя проблема в том, что я не могу использовать эту переменную для запроса всех этих типов сообщений, например:

 $buildArgsAllQuestions = array( // Add out new query parameters 'post_type' => array($posttypes_array), //'post_type' => $posttypes_array, 'orderby' => 'date', 'order' => 'DESC', ); 

Мой запрос для всех пользовательских сообщений работает только тогда, когда я использую эту строку для post_type:

 'post_type' => array( 'puzzles', 'quizzes', 'challenges', 'tales', 'can_you_help' ), 

Может ли кто-нибудь сказать мне, как я могу использовать переменную $posttypes_array или что-то похожее на запрос всего настраиваемого posttype, например: 'post_type' => array($posttypes_array) ?

Вместо создания строки попробуйте создать массив и проверить.

 $posttypes_array = array(); foreach ($post_types as $post_type ) { $posttypes_array[] = $post_type; } 

А затем сформируйте запрос следующим образом

 $buildArgsAllQuestions = array( // Add out new query parameters 'post_type' => $posttypes_array, //'post_type' => $posttypes_array, 'orderby' => 'date', 'order' => 'DESC', );