如何检索在我的WordPress博客中注册的具有特定元数据的所有用户?
例如,我已经选择为每个注册用户添加自定义元数据,这些用户的元键为parent_id
。如果我想列出parent_id
为2
的所有用户,那我该怎么办呢?
答案 0 :(得分:71)
自WP v3.1起,通过他/她的元键搜索用户非常容易。
使用功能
get_users($参数)
该函数采用一系列参数,在您需要的情况下需要
get_users(array('meta_key'=> 'parent_id','meta_value'=> '42'))
答案 1 :(得分:22)
如何通过元数据获取一个用户的简单方法是:
$user = reset(
get_users(
array(
'meta_key' => $meta_key,
'meta_value' => $meta_value,
'number' => 1,
'count_total' => false
)
)
);
答案 2 :(得分:6)
以下是基于自定义角色和多个元数据键获取用户的方法,
$available_drivers = get_users(
array(
'role' => 'driver',
'meta_query' => array(
array(
'key' => 'approved',
'value' => true,
'compare' => '=='
),
array(
'key' => 'available',
'value' => true,
'compare' => '=='
)
)
)
);
解释上面的查询,我只想要那些我分配了驱动程序角色的用户,并且他们已被批准并且可用。已批准和可用的是使用ACF作为真/假字段创建的自定义字段。
如果要测试其他元数据,请将另一个数组元素添加到meta_query数组中。
同时在github.com/patrickingle上查看我的开源资料
答案 3 :(得分:4)
Here is the codex page from Wordpress详细说明了如何使用get_users($arg);
函数。
它包含如何构建自定义函数以获取用户数据的各个部分的示例。您必须自然地构建并进行一些自己的更改,以获得您想要的效果。
另外here is a link到某个人构建的函数,它将根据wordpress中的角色获取用户数据。您可以通过一些推文以多种不同的方式对其进行配置,但这样可以让您以更强大的方式过滤结果。