我想从活动自定义帖子类型获得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 );
提前致谢。
答案 0 :(得分:1)
不要为"精选"创建一个类别,而是创建一个自定义字段。在您的查询中,移除'tax_query'
以获取所有帖子并更改订单'orderby' => 'the_field_you_created'