WordPress 通过元数据获取用户

如何检索在 WordPress 博客中注册的所有拥有特定元数据的用户?

例如,我创建了一个选项,为每个注册了元键为 parent_id的用户添加一个自定义元数据。如果我想列出所有拥有 parent_id的用户作为 2,那么我如何做到这一点?

69570 次浏览

自从 WP v3.1以来,通过用户的元密钥搜索用户变得异常容易。

使用函数

get_users($args)

(可湿性粉剂文件)

该函数接受一个参数数组,在您的情况下,您需要

get_users(array(
'meta_key' => 'parent_id',
'meta_value' => '42'
))

下面是 Wordpress 的 codex 页面,详细介绍了如何使用 get_users($arg);函数。

它包含如何构建自定义函数来获取用户数据的各个部分的示例。您将不得不自然地构建并做出一些自己的更改,以便按照自己的想法实现它。

此外,这里有一个链接的功能,有人建立,将获取用户数据的基础上,在 wordpress 的角色。您可以通过一些细分以许多不同的方式配置它,但是这将允许您以更强大的方式过滤结果。

获得一个用户的元数据的简单方法是:

$user = reset(
get_users(
array(
'meta_key' => $meta_key,
'meta_value' => $meta_value,
'number' => 1
)
)
);

下面介绍如何基于自定义角色和多个元数据键获取用户,

$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