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

get_users查询含指定自定义字段用户异常:返回全部用户排查

问题

我拥有一组CPT author_title的ID数组,希望获取自定义字段author_title值属于该数组的用户列表。经数据库直接核查,仅部分用户存在该自定义字段,但使用以下代码调用get_users时,返回的却是全部用户而非预期的测试用户,请问代码存在什么问题?

代码如下:

$args = array(
    'meta_query'    => array(
        'key'       => 'author_title',
        'value'     => $post_IDs,
        'compare'   => 'IN'
        )
    );
$authors = get_users( $args );
问题原因与修复方案
  • 核心问题:你的meta_query格式错误。WordPress的meta_query要求传入二维数组,每个查询条件是独立的数组元素,你直接把单条条件作为一维数组传入,会导致WordPress忽略元查询条件,直接返回所有用户。
  • 额外优化:如果要确保只返回确实存在author_title字段的用户,可添加'compare' => 'EXISTS'的逻辑,避免匹配到无该字段的用户。

修正后的基础版代码:

$args = array(
    'meta_query' => array(
        array(
            'key'       => 'author_title',
            'value'     => $post_IDs,
            'compare'   => 'IN'
        )
    )
);
$authors = get_users( $args );

严格过滤无该字段用户的进阶版代码:

$args = array(
    'meta_query' => array(
        'relation' => 'AND',
        array(
            'key'       => 'author_title',
            'compare'   => 'EXISTS'
        ),
        array(
            'key'       => 'author_title',
            'value'     => $post_IDs,
            'compare'   => 'IN'
        )
    )
);
$authors = get_users( $args );

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:03:15