WordPress通过元数据获取用户
我如何检索在我的WordPress博客注册的所有用户具有特定的元数据?
例如,我已经为每个注册用户添加了一个自定义的元数据,这个用户的meta key为parent_id
。 如果我想列出parent_id
为2
所有用户,那我该怎么做?
自WP v3.1起,通过他/她的元键来search用户是非常容易的。
使用该function
get_users($参数)
( WP文档 )
该函数需要一个参数数组,在你需要的情况下
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 ) ) );
这里是Wordpress的codex页面,详细介绍如何使用get_users($arg);
function。
它包含了如何构build自定义函数来获取用户数据的各个部分的示例。 您必须自然地构build并做出一些自己的更改以获得您想要的结果。
另外这里是一个链接到一个人build立的function,将获取基于WordPress内的angular色的用户数据。 你可以用许多不同的方式configuration它,但是这可以让你以更强大的方式过滤你的结果。
以下是您如何根据自定义angular色和多个元数据键获取用户,
$available_drivers = get_users( array( 'role' => 'driver', 'meta_query' => array( array( 'key' => 'approved', 'value' => true, 'compare' => '==' ), array( 'key' => 'available', 'value' => true, 'compare' => '==' ) ) ) );
解释上面的查询,我只想要那些分配了驱动angular色的用户,他们被批准并可用。 批准和可用是使用ACF作为True / False字段创build的自定义字段。
如果您有其他要testing的元数据,请将其他数组元素添加到meta_query数组中。
同时检查我的开源在github.com/patrickingle