WordPress-按优先级从类别中获取帖子

时间:2017-01-29 09:51:08

标签: wordpress custom-post-type

我想从活动自定义帖子类型获得3个帖子。但我想按类别优先顺序做到这一点。如果“精选”类别有3个即将举办的活动,那么我想要显示3个帖子,如果“精选”类别没有3个即将举办的活动,那么我想从其他类别+帖子中获取帖子而没有任何类别。

最终结果将返回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 个答案:

答案 0 :(得分:1)

不要为"精选"创建一个类别,而是创建一个自定义字段。在您的查询中,移除'tax_query'以获取所有帖子并更改订单'orderby' => 'the_field_you_created'