2016-11-05 3 views
0

Я использую этот запрос, чтобы получить несколько сообщений.Сортировка сообщений по пользовательскому номеру поля

  $args = array( 
       'post_type' => 'spaces', 
       'post_per_page' => '500', 
       'orderby'  => 'rand', 
       'meta_key' => 'space-city', 
       'meta_value' => $search,      
      ); 

      $query = new WP_query($args); 

Теперь мне нужно заказывать результаты по количеству комментариев к каждому сообщению. У меня есть настраиваемое поле с этим номером, называемым «space-comments», но я понятия не имею, как сортировать сообщения с этой второй мета-клавишей.

Я провел несколько тестов, но я смог получить сообщение только в том случае, если «комментарии к пространству» имеют значение. Когда нет значения, сообщение не отображается.

Любая идеа как я могу начать?

ответ

0

WP_Query может принимать аргумент meta_query, который заполняется как массив под-аргументов. Этот массив может иметь вспомогательные массивы, каждый из которых имеет свой собственный мета-запрос, поэтому вы можете создать несколько приятных сложных поисков по метаданным.

См. Пример с https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters ниже.

$args = array(
    'post_type' => 'product', 
    'meta_query' => array(
     array(
      'key'  => 'color', 
      'value' => 'blue', 
      'compare' => 'NOT LIKE', 
     ), 
     array(
      'key' => 'price', 
      'value' => array(20, 100), 
      'type' => 'numeric', 
      'compare' => 'BETWEEN', 
     ), 
    ), 
); 
$query = new WP_Query($args); 
Смежные вопросы