我在表格wp_usermeta
和meta_key
user_last_activity
以及meta_value
下有a:12:{}
类似12
的商店用户活动的插件是用户ID。
所以,如果我以id:12
的用户身份登录,我的当前页面将运行此代码:
$user = get_user_id();
$activity = get_user_meta($userid, 'user_last_activity', true);
var_dump($activity);
所以,这就是它。除非,如果我以管理员身份登录,我希望所有用户都能看到所有活动。
那么,无论如何都要获得所有用户meta?目前我正在盲目地做
foreach(range(1, 1000) as $value){
$activity = get_user_meta($value, 'user_last_activity', true);
var_dump($activity);
}
我假设有1000个用户,但你可以看到这些限制。
答案 0 :(得分:1)
您可以使用get_users() function获取您网站上的所有用户,然后循环访问这些用户以获取用户活动。
$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 );
}
答案 1 :(得分:0)
我建议对user_meta执行单个查询,而不是在foreach循环中运行get_user_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);