在wordpress中获取多个用户的元数据

在wordpress中获取多个用户的元数据,wordpress,Wordpress,我有一个插件,它在表wp\u usermeta中存储用户活动,在meta\u键下user\u last\u activity和meta\u value类似a:12:{}的地方12是用户id 因此,如果我以id为的用户身份登录:12我的当前页面将运行以下代码: $user = get_user_id(); $activity = get_user_meta($userid, 'user_last_activity', true); var_dump($activity); 差不多就是这样。除

我有一个插件,它在表
wp\u usermeta
中存储用户活动,在
meta\u键下
user\u last\u activity
meta\u value
类似
a:12:{}
的地方
12
是用户id

因此,如果我以id为的用户身份登录:
12
我的当前页面将运行以下代码:

$user = get_user_id();
$activity = get_user_meta($userid, 'user_last_activity', true);

var_dump($activity); 
差不多就是这样。除此之外,如果我以管理员身份登录,我希望查看所有用户的所有活动

那么,是否有任何方法可以获取所有用户元数据?目前我在盲目地做

foreach(range(1, 1000) as $value){
    $activity = get_user_meta($value, 'user_last_activity', true);
    var_dump($activity); 
}
当然,我假设有1000个用户,但您可以看到其局限性。

您可以使用获取站点上的所有用户,然后通过这些用户循环获取用户活动

$users = get_users(); // get array of WP_User objects
foreach ( $users as $user ) {
    $activity = get_user_meta( $user->ID, 'user_last_activity', true );
    var_dump( $activity );
}

我建议对user\u meta执行单个查询,而不是在foreach循环中运行
get\u user\u meta

global $wpdb;

$results = $wpdb->get_results("
SELECT user_id, meta_value as 'user_last_activity'
FROM $wpdb->usermeta
WHERE `meta_key` = 'user_last_activity' 
");

var_dump($results);

谢谢你的回答。你能不能也检查一下这些问题?谢谢