在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);
谢谢你的回答。你能不能也检查一下这些问题?谢谢