Intereting Posts
Как указать параметр загрузки файлов в WordPress Widget backend? Разрешить короткий код в биографическом тексте автора Электронная почта по электронной почте после регистрации никогда не была отправлена ​​или получена Почему WordPress просит меня обновить мою новую (практически пустую) тему? Ссылка для последнего сообщения Используйте override_load_textdomain для перевода кеша и повышения производительности Какой файл / шаблон отвечает за таксономии для пользовательских типов сообщений? Как исключить сообщения по ID в цикле категории / архива Поиск – Ajax – Изменение параметров запроса с разбиением на страницы Веб-сайт отображает старую версию страницы Удаление доступа пользователей к панели управления Ограничение условного комментария для дома только в header.php Выйти из гиперссылки в подменю Добавить мета значение в пользовательский тип сообщения в публикации WP_query – Фильтровать по tax_query и meta_query с помощью нескольких select

Значения внутри настраиваемого поля, чтобы определить, какие записи категорий отображаться

Я столкнулся с небольшой проблемой, пытаясь отобразить сообщения из определенных категорий на передней панели. Я создал настраиваемое поле, чей ключ «related_categories», и у меня разные категории с такими слизнями, как «армия», «военно-морской флот», «авиация» и т. Д.

При создании новой персонализированной почты я ввожу пули разных категорий в настраиваемое поле «related_categories», например «военно-морской флот», «авиационная сила», и это код, который у меня внутри файла шаблона, чтобы повторить настраиваемое поле значения внутри массива «tax_query».

<?php global $post; $related = array ( get_post_meta($post->ID, 'related_categories', true) ); $the_query = new WP_Query( array( 'post_type' => 'medals', 'posts_per_page' => 3, 'tax_query' => array( array( 'taxonomy' => 'medal-categories', 'field' => 'slug', 'terms' => $related, ), ), ) ); while ( $the_query->have_posts() ) : $the_query->the_post(); //loop starts after this 

Теперь проблема, с которой я столкнулся, заключается в том, что если я ввожу только один слизень в настраиваемое поле «related_categories», например, «navy», то сообщения из категории «военно-морской флот» успешно отображаются, но если я введу более одного пули внутри поле «related_categories», например «военно-морской флот», «армия», то сообщения не отображаются.

Я попытался найти решение в Интернете, но не смог найти никакой помощи. Спасибо.

Проблема в том, что вы передаете список терминов, разделенных запятыми, а не массив термина. Например, если вы введете «армия, флот, авиация» в пользовательское поле:

 $related = array ( get_post_meta($post->ID, 'related_categories', true) ); //$related = array('army,navy,airforce'); //What you need is //$related = array('army','navy,'airforce'); 

Вам нужно преобразовать каждый член в член массива, например, используя explode :

 $related = explode(',', trim( get_post_meta($post->ID, 'related_categories', true) ) ); 

Во всяком случае, я думаю, что вы должны думать по-другому, чтобы достичь своей цели. Использование настраиваемого поля для ручного хранения списка связанных категорий не соответствует моей точке зрения. Вы могли бы создать, например, иерархическую таксономию и установить связанные категории под одним и тем же родителем или использовать таксономию основного тега для установления отношений и т. Д., Я думаю, что это лучше и «естественно», чем использование настраиваемого поля для хранения набора условий таксономии.