Intereting Posts
Проблемы с пользовательским таксономическим фильтром Транзакция при использовании функций WP, а не ванильного SQL? Передача переменной во вложенных коротких кодах Множественные отношения в запросе Как включить редактор tinymce в frontend? Автоматический счетчик числа дел DIVI Как работает add_action 'comment_post'? Как организовать загруженные носители в WP? Multisite – получение одной и той же темы со всех сайтов сети Общее количество сообщений в запросе (категория / тег / автор / результаты поиска / главная страница …) Заблокировать информацию пользователя после заполнения полей if && проблемы с transition_post_status Двадцать пятнадцать: Смежные сообщения с помощью menu_order WP_Query meta compare должен включать в себя ВСЕ значения массива Очень странное поведение, связанное с htaccess и настраиваемыми сообщениями и подстроками пользовательских сообщений (BUG?)

Переменная не работает в WP_Query

Я использовал эту технику раньше и не могу понять, почему на этот раз она не работает.

«news_category» – это обычная таксономия моего пользовательского типа «Новости».

Я получаю таксономию текущего сообщения (которое является персонализированным типом сообщений типа), используя get_the_term_list, заменяя пробелы «-» и используя переменную в моем запросе.

Если я повторю запрос, он дает мне точную строку, которую я ожидаю, – и если я вручную введу эту строку в запрос, она работает, но переменная doesnt.

<?php $cats = get_the_term_list($post->ID, 'news_category'); ?> <?php $cat = str_replace(' ', '-', $cats);?> <?php $category = strtolower($cat); ?> <?php echo $category; ?> <?php $args = array( 'post_type' =>'news', 'news_categories' => $category, 'post__not_in'=> array($post->ID) ); ?> <?php $sidebar_category = new WP_Query($args); ?> 

Solutions Collecting From Web of "Переменная не работает в WP_Query"

Вы должны использовать массив следующим образом:

 array( 'post_type' =>'news', 'category_name' => $category, //use category slug (NOT name). 'post__not_in'=> array($post->ID) ); 

Для получения дополнительной информации посетите эту ссылку

Переменная не работает, потому что get_the_term_list возвращает строку HTML-ссылок, тогда как для массива $args требуются пули. Я не уверен, что вы можете передать массив пули, используя ваш текущий метод, или нет. Вы можете передать массив пули с помощью массива tax_query .

Кстати, используя текущий метод, вы должны быть настройки имя налога на «news_category», а не «news_categories», но это спорный вопрос.