Intereting Posts
Экспортировать пользователей и их дополнительные пользовательские поля Домашняя ссылка на главной странице моего wordpress не показывает мои сообщения в блоге Правильный способ использования формы для фильтрации пользовательских сообщений по таксономическим терминам? Показать сообщение из пользовательского типа сообщения Ключ action_post не дает post_meta_data Как подключиться к функции, предлагаемой плагином? Нужна помощь в удалении после отрывка Авто сортировать список сообщений wp-admin с помощью мета-ключа Цикл сообщений с разбивкой по страницам на одной странице Зацикливание всех сообщений за определенный год как создать собственный код или шаблон страницы администратора edit.php для моего пользовательского типа сообщений Установка ширины содержимого жидкости Как отредактировать HTML и сохранить его так же, как и после переключения в Visual Editor в WordPress? Tax_query не работает на multisite Почему вы используете add_action для короткого кода?

Похожие сообщения meta_query CPT

У меня есть два типа «Художники» и «Песни», в «Песнях» у меня есть мета-поле с флажком с именами «Художники».

Я хочу показать связанные сообщения, если у какой-либо публикации одинаковое значение метаданных с именем исполнителя:

wp_reset_postdata(); global $post; $artist_name = get_post_meta(get_the_ID(), "artist_name", true); $args = array( 'post_type' => array('songs'), 'meta_key' => $artist_name ); $query = new WP_Query; return $query; 

в запросе должны отображаться сообщения с одинаковым значением мета-окна автоматически.

это возможно ?!

больше информации:

имена почтовых изданий:

Мета-окно имен артистов в стиле «Песни»

Отображение связанных песен по имени художников на одной странице

Solutions Collecting From Web of "Похожие сообщения meta_query CPT"

Я предполагаю, что то, что вы пытаетесь сделать, это примерно так:

 $artist_name = get_post_meta(get_the_ID(), "artist_name", true); $args = array( 'post_type' => array('songs'), 'meta_key' => $artist_name, ); $related = new WP_Query($args); 

В вашем вопросе вы заявляете, что хотите, чтобы сообщения имели «одинаковое значение метаданных с именем исполнителя». Что делает вышеприведенный код, это не поиск значений, связанных с ключом, а для имен ключей, соответствующих художнику. Пытаться:

 $artist_name = get_post_meta(get_the_ID(), "artist_name", true); var_dump($artist_name); $args = array( 'post_type' => array('songs'), 'meta_key' => $artist_name, ); $related = new WP_Query($args); var_dump($related->request); 

И вы должны увидеть, что происходит.

Вместо этого вы хотите что-то вроде этого:

 $artist_name = get_post_meta(get_the_ID(), "artist_name", true); $args = array( 'post_type' => array('songs'), 'meta_key' => 'artist_name', 'meta_value' => $artist_name, ); $related = new WP_Query($args); 

Или более сложный, но более гибкий meta_query :

 $artist_name = get_post_meta(get_the_ID(), "artist_name", true); $args = array( 'post_type' => array('songs'), 'meta_query' => array( array( 'key' => 'artist_name', 'value' => $artist_name, ) ) ); $related = new WP_Query($args); 

Я склоняюсь к meta_query поскольку он красиво инкапсулирует связанные аргументы «meta» и позволяет использовать больше опций .

Конечно, вам нужно будет перебрать результат, чтобы вернуть что-нибудь полезное. Например:

 if ($related->have_posts()) { while ($related->have_posts()) { $related->the_post(); the_title(); // etc } } со if ($related->have_posts()) { while ($related->have_posts()) { $related->the_post(); the_title(); // etc } }