Как отобразить запись WordPress, только при наличии определенного пользовательского поля

Недавно один из наших читателей спросил, как отобразить запись WordPress, только если у нее есть определенное пользовательское поле. После того, как мы ему ответили, то подумали, что будет полезно, если мы поделимся способом с остальными, чтобы как можно большее количество людей смогло воспользоваться функцией.

Вам необходимо понимать принципы работы циклов в WordPress, так как мы будем вызывать эти параметры в запросе WordPress.

Пример кода ниже отобразит только те записи, у которых есть пользовательское поле «color», вне зависимости от того, какое значение имеет поле color. Вам нужно вставить этот код цикла в то место, где вы хотите вывести записи. Обычно это пользовательский шаблон страницы WordPress.

<?php

// Запрос для вывода определенного пользовательского поля

$the_query = new WP_Query('meta_key=color');

// Цикл
while ( $the_query->have_posts() ) : $the_query->the_post();

the_title();
the_content();

endwhile;

// Обнуляем данные записи
wp_reset_postdata();

?>

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

$the_query = new WP_Query( 'meta_value=blue' );

Если же вы захотите выделить ключ и значение, к примеру вы хотите вывести только те записи, у которых есть пользовательское поле color и значение blue, то ваш код запроса будет выглядеть примерно так:

$the_query = new WP_Query( array( 'meta_key' => 'color', 'meta_value' => 'blue' ) );

Существует большое количество параметров, которые можно использовать в работе над вашими сайтами. Нужно всего лишь обратиться к странице Кодекса WordPress WP_Query Parameters.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top