Заказ для настраиваемого поля после цикла

У меня есть таблица, где у каждого сообщения есть настраиваемое поле с «регионом» и «городом»:

  • 01> SP> Сан-Паулу
  • 02> RJ> Рио-де-Жанейро
  • 03> SP> Кампинас
  • 04> RJ> Нитерой

Этот запрос работает идеально для отображения всех сообщений в «Region = SP»:

query_posts( array( 'post_type' => 'hotel', 'post_per_page' => '500', 'meta_key' => 'hotel-region', 'meta_value' => "sp") ); 
  • 01> SP> Сан-Паулу
  • 03> SP> Кампинас

Теперь мне нужно заказать результаты запроса для города A> Z. Как я могу изменить код для этого?

Solutions Collecting From Web of "Заказ для настраиваемого поля после цикла"

Регионы и города идеально вписываются в концепцию таксономии: способ группировать вещи (т.е. должности). И не столько в концепции метаданных. Я настоятельно рекомендую использовать пользовательские таксономии для этого вместо пользовательских мета-полей. Вы достигнете производительности, и у вас будет лучшее управление отношениями с данными. Кроме того, вы должны прекратить использование query_posts и вместо этого использовать WP_Query .

При этом, если вы все еще хотите использовать мета-поля, вы можете отсортировать запрос по мета-значению следующим образом:

 $args = array( 'post_type' => 'hotel', 'post_per_page' => '500', //meta_key set for sorting only, for meta conditionals we will use meta_query parameter //Asumming the name of the meta field is hotel-city, replace with the correct name 'meta_key' => 'hotel-city', 'orderby' => 'meta_value', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'hotel-region', 'value' => 'sp' ) ) ); $query = new WP_Query( $args ); 

Вы можете попробовать это, но с помощью query_posts () настоятельно не рекомендуется:

 query_posts( array( 'post_type' => 'hotel', 'post_per_page' => '500', 'order' => 'ASC', 'meta_key' => 'hotel-city', 'orderby' => 'meta_value', 'meta_query' => array( array('key' => 'hotel-region', 'value' => 'sp' ) ) ) ); 

Когда кибмета указывается, вместо этого используйте WP_Query .