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

使用WP Show Posts插件做ACF自定义字段meta查询无结果如何解决

问题修复方案

你猜测的原因成立,WP Show Posts默认查询的是原生文章类型post,如果未在列表后台指定查询trees自定义文章类型,自然无法匹配到对应内容。除此之外还有字段比对类型的问题也会导致无结果,修正方案如下:

必改项

  1. 补充自定义文章类型指定:要么直接在ID为4566的WP Show Posts列表后台设置中,将文章类型选择为trees,要么在过滤代码中手动添加post_type参数
  2. 给meta_query增加数值类型声明:ACF数字字段存储为数值格式,WordPress默认meta查询按字符串比对,会导致大小比较逻辑失效,需要添加type参数指定为NUMERIC

修正后的完整代码

add_filter( 'wp_show_posts_shortcode_args', function( $args, $settings ) {
    if ( 4566 === $settings['list_id'] ) {
        $args['post_type'] = 'trees';
        $args['meta_query'] = array(
            array(
                'key' => 'popularity',
                'value' => 10,
                'compare' => '<',
                'type' => 'NUMERIC'
            )
        );
    }
    return $args;
}, 15, 2 );

额外排查项

  • 确认WP Show Posts列表ID确实为4566,可在列表编辑页的浏览器地址栏查看post参数的取值
  • 确认存在至少一篇trees类型文章的popularity字段填写了小于10的数值,空值字段不会被查询命中
  • 恢复之前修改的WP Show Posts插件核心代码为官方原版,上述过滤代码无需修改插件核心即可生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:06:04