Пользовательский запрос с query_posts не показывает записи без определенного meta_key
27 сент. 2010 г., 13:59:05
Просмотры: 989
Голосов: 0
Я использую query_posts для сортировки определенных категорий. Мой код выглядит следующим образом:
query_posts('category_name=abs&orderby=meta_value_num&meta_key=field_ordering&order=DESC');
Этот код действительно показывает записи в точном соответствии с указанной сортировкой.
Однако, приведенный выше запрос не отображает записи, у которых не установлен meta_key
'field_ordering' в базе данных.
Моя проблема в том, что я не хочу устанавливать это поле для ВСЕХ записей, но при этом хочу видеть эти данные.
Есть какие-либо решения?

ariefbayu
1.46K
Все ответы на вопрос
1
0
Ну, вы не можете сортировать по полю, которого нет. Вы можете изменять запрос условно только в тех категориях, где есть это поле, и оставить запрос по умолчанию для остальных.
Это будет выглядеть примерно так:
if( is_category('abs') )
query_posts(
array_merge(
array('orderby' => 'meta_value',
'meta_key' => 'field_order',
'order' => 'Desc' ),
$wp_query->query
)
);

Rarst
100K
27 сент. 2010 г. 14:44:10
Похожие вопросы