如何检索在 WordPress 博客中注册的所有拥有特定元数据的用户?
例如,我创建了一个选项,为每个注册了元键为 parent_id的用户添加一个自定义元数据。如果我想列出所有拥有 parent_id的用户作为 2,那么我如何做到这一点?
parent_id
2
自从 WP v3.1以来,通过用户的元密钥搜索用户变得异常容易。
使用函数
get_users($args)
(可湿性粉剂文件)
该函数接受一个参数数组,在您的情况下,您需要
get_users(array( 'meta_key' => 'parent_id', 'meta_value' => '42' ))
下面是 Wordpress 的 codex 页面,详细介绍了如何使用 get_users($arg);函数。
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