Пользовательский запрос с Query_posts не показывает сообщение без определенного meta_key

wordpress.stackexchange https://wordpress.stackexchange.com/questions/2257

  •  16-10-2019
  •  | 
  •  

Вопрос

Я использую Query_posts для сортировки определенных категорий. Мой код выглядит так:

query_posts('category_name=abs&orderby=meta_value_num&meta_key=field_ordering&order=DESC');

Это показывает пост в точной модели сортировки, как я указываю. Тем не менее, запрос выше не отображает, что пост не имеет meta_key 'Field_ordering' Установка в базе данных.

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

Есть решения?

Это было полезно?

Решение

Ну, вы не можете сортировать по поле, которого нет. Вы можете изменить запрос условно только в тех категориях, которые имеют это поле, и позволить запросу по умолчанию работать в состоянии покоя.

Это было бы что -то вроде:

if( is_category('abs') )
    query_posts(
    array_merge(
    array('orderby' => 'meta_value', 
                  'meta_key' => 'field_order', 
                  'order' => 'Desc' ),
    $wp_query->query
        )
    );
Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top