2014-08-29 5 views
0

У меня есть сценарий, когда я хочу сначала получить свойство featured, а затем другие свойства, которые не отображаются. Я сохранил meta_key с _property_featured с 1, если свойство указано. Для этого я использую pre_get_posts крючок, вот кодWP_Query Alter archive page Query

 function my_property_modify_query($query) { 
     if (is_post_type_archive('property') || is_tax('property_contracts')) { 
      set_query_var('orderby', 'meta_value_num'); 
      set_query_var('meta_key', '_property_featured'); 
      set_query_var('ORDER', 'DESC'); 
     } 
     } 
     add_action("pre_get_posts", "my_property_modify_query"); 

, но это только показывает признакам собственности любое предложение, почему он это делает?

ответ

0

Попробуйте установить meta_key перед параметром orderby. И я думаю, что вам не нужно использовать meta_value_num, так как 1 - это просто флаг, и упорядочение даст вам некоторые странные результаты.

+0

Я исправил его, в основном в wp_postmeta, когда мой пост будет сохранен, если установлен флажок checkbox, он сохранит _property_featured на 1, иначе он удалит _property_featured meta_key, поэтому поэтому его отображение только признанного свойства. Теперь я также сохранил _property_featured на 0, и он работает! –

+0

Хорошо, хорошо, поэтому он показывал только их, потому что на других сообщениях не было мета. –

+0

Yup его правильно. –

Смежные вопросы