You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置WP Query:优先展示is_feature=1的自定义文章,后显示无该元键的

解决WP Query按特色标识排序并展示全部内容的问题

你的需求是先展示is_feature = 1的产品,再展示无该元键或值为空的产品,原代码存在两个核心问题:

  • order_by拼写错误,正确参数名是orderby
  • 直接设置meta_key会自动过滤掉没有该元键的帖子,无法满足展示全部内容的要求

以下是修正后的查询代码:

$conditions = array( 
    'posts_per_page' => 9, 
    'paged' => $paged,   
    'post_type' => 'custom',
    'post_status' => 'publish',
    'meta_query' => array(
        'relation' => 'OR',
        // 匹配is_feature=1的帖子
        array(
            'key' => 'is_feature',
            'value' => '1',
            'compare' => '='
        ),
        // 匹配没有is_feature元键的帖子
        array(
            'key' => 'is_feature',
            'compare' => 'NOT EXISTS'
        ),
        // 匹配is_feature值为空的帖子
        array(
            'key' => 'is_feature',
            'value' => '',
            'compare' => '='
        )
    ),
    // 按is_feature数值降序排序,让特色内容优先展示
    'orderby' => array(
        'meta_value_num' => 'DESC',
        // 可选:同组内按发布时间最新排序
        'date' => 'DESC'
    )
);

$the_query = new WP_Query( $conditions );

代码说明:

  • meta_query通过relation => 'OR'覆盖三种目标情况,确保所有产品都能被查询到,不会遗漏无特色标识的内容
  • orderby使用meta_value_num按数值排序,让is_feature=1的内容排在最前;如果需要同类别内容内按发布时间排序,可保留date => 'DESC'参数
  • 移除了原代码中多余的meta_key参数,避免过滤掉无该元键的帖子

内容的提问来源于stack exchange,提问作者Muzammil Dafedar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:55:24