2017-01-29 5 views
2

Я хочу получить 3 сообщения из специального пользовательского типа сообщений. Но я хочу сделать это по приоритету категории. Если «featured» category имеет 3 предстоящих события, тогда я хочу показать 3 сообщения из него, если категория «featured» не имеет 3 предстоящих событий, тогда я хочу получать сообщения из других категорий + сообщения без какой-либо категории.WordPress- Получить сообщение из категории по приоритету

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

Текущий код (который возвращает только максимум 3 сообщения из категории признакам) -

$events_args = array(
     'post_type'  => 'ctc_event',     
     'meta_query' => array(
     array(
      'key' => '_ctc_event_end_date', 
      'value' => date_i18n('Y-m-d'), 
      'compare' => '>=', 
      'type' => 'DATE' 
     ), 
    ), 
     'meta_key'  => '_ctc_event_start_date_start_time', 
     'meta_type'  => 'DATETIME', 
     'orderby'  => 'meta_value', 
     'order'  => 'ASC', 
     'posts_per_page' => 3, 
     'tax_query' => array(
      array(
       'taxonomy' => 'ctc_event_category', 
       'field' => 'slug', 
       'terms' => 'featured', 
     ), 
    ), 
    ); 

$events = new WP_Query($events_args); 

Спасибо заранее.

ответ

1

Не создавайте категорию для "featured", вместо этого создайте собственное поле. И в вашем запросе удалите 'tax_query', чтобы получить все сообщения и изменить orderby 'orderby' => 'the_field_you_created'