Как вывести записи по meta_value?

Здравствуйте, есть шаблон страницы region-page.php присвоеный регионам, в нем вывожу объекты (типы записей) циклом, в каждом объекте есть мета поле где указано, к какому региону принадлежит данный объект. Например "Брянская область"
<?php 
              // параметры по умолчанию
        $posts = get_posts( array(
          'numberposts' => 5,
          'category'    => 0,
          'orderby'     => 'date',
          'order'       => 'DESC',
          'include'     => array(),
          'exclude'     => array(),
          'meta_key'    => '',
          'meta_value'  => 'Брянская область',
          'post_type'   => 'wpsl_stores',
          'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
        ) );

        foreach( $posts as $post ){
          setup_postdata($post);
          ?>

Но если я зайду скажем на Московскую область, там тоже по логике брянские объекты будут выводиться, подскажите пожалуйста как грамотно организовать код чтобы на странице своего региона выводились свои объекты
  • Вопрос задан
  • 363 просмотра
Решения вопроса 1
cesnokov
@cesnokov
<head>&nbsp;</head>
1. Вы ищете 'meta_value' => 'Брянская область', но не указано где ищите 'meta_key' => ''.
2. Более сложные запросы лучше делать с "meta_query".

Простой запрос:
get_posts(array(
   'meta_key'   => 'xxx_key',
   'meta_value' => 'Брянская область'
));


Сложный запрос:
get_posts(array(
   'meta_query' => array(
      array(
         'key'     => 'ххх_key',
         'value'   => array('Брянская область', 'Московская область'),
         'compare' => 'IN'
      )
   )
));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы