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

如何在WordPress中用get_posts查询含指定字符串的元数据键?

解决方案:通过meta_query匹配以特定字符串开头的元键

WordPress的meta_query支持通过模糊匹配或正则表达式筛选元键符合特定模式的文章,针对你需要筛选元键以_cegg_data开头的产品文章,有两种可行写法:

方法1:用正则表达式精准匹配前缀

这种方式能确保只命中以_cegg_data开头的元键,避免误匹配包含该字符串但不在开头的键:

$args = array(
    'post_type'  => 'product',
    'meta_query' => array(
        array(
            'key'     => '_cegg_data',
            'compare' => 'REGEXP',
            'value'   => '^_cegg_data', // 正则规则:匹配以_cegg_data开头的元键
            'type'    => 'CHAR' // 指定字段类型,优化数据库查询效率
        )
    )
);
$postslist = get_posts( $args );

方法2:用LIKE模糊匹配

这种写法更简洁,通过通配符%匹配所有以_cegg_data开头的元键:

$args = array(
    'post_type'  => 'product',
    'meta_query' => array(
        array(
            'key'     => '_cegg_data%',
            'compare' => 'LIKE'
        )
    )
);
$postslist = get_posts( $args );

补充说明

  • 两种写法都会返回所有带有目标前缀元键的文章,无论元值是什么内容
  • 若需要额外筛选元值非空的文章,可在meta_query的数组中添加'value' => ''和'compare' => '!='参数
  • 确保你的WordPress版本在3.1及以上(该版本开始支持这类compare参数)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:37:09