问题描述
如何检索在我的 WordPress 博客中注册的具有特定元数据的所有用户?
例如,我已经选择为每个注册具有元键的用户添加自定义元数据作为 parent_id
。如果我想列出所有具有 parent_id
的用户都是 2
,那我该怎么办?
最佳解决方案
由于 WP v3.1 是通过他/她的元键搜索用户很容易的。
使用该功能
get_users($args)
该函数需要一系列参数,在您需要的情况下
get_users(array(‘meta_key’ => ‘parent_id’, ‘meta_value’ => ’42’))
次佳解决方案
通过他的元数据获取一个用户的简单方法是:
$user = reset(
get_users(
array(
'meta_key' => $meta_key,
'meta_value' => $meta_value,
'number' => 1,
'count_total' => false
)
)
);
第三种解决方案
Here is the codex page from WordPress 详细介绍了如何使用 get_users($arg);
功能。
它包含如何构建自定义函数以获取用户数据的各个部分的示例。你必须自然地构建并做出一些你自己的改变,以获得你想要的。
另外 here is a link 是一个功能,可以根据 wordpress 中的角色来获取用户数据。您可以通过多种不同的方式对其进行配置,但这样可以以更强大的方式过滤您的结果。
第四种方案
以下是如何根据自定义角色和多个元数据键获取用户,
$available_drivers = get_users(
array(
'role' => 'driver',
'meta_query' => array(
array(
'key' => 'approved',
'value' => true,
'compare' => '=='
),
array(
'key' => 'available',
'value' => true,
'compare' => '=='
)
)
)
);
解释上述查询,我只想要那些分配了驱动程序角色的用户,并且它们被批准并可用。已批准和可用的是使用 ACF 作为 True /False 字段创建的自定义字段。
如果您有其他元数据要测试,请将另一个数组元素添加到 meta_query 阵列。
同时在 github.com/patrickingle 检查我的开源
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。