我有一个插件,可以在表wp_usermeta和下面存储用户活动meta_key user_last_activity,meta_value比如用户 ID 在a:12:{} 哪里。12
因此,如果我以 id: 的用户身份登录:12我当前的页面将运行以下代码:
$user = get_user_id();
$activity = get_user_meta($userid, 'user_last_activity', true);
var_dump($activity);
Run Code Online (Sandbox Code Playgroud)
就这样了。除非我以管理员身份登录,否则我想查看所有用户的所有活动。
那么,有没有办法获取所有用户元呢?目前我正在盲目地做
foreach(range(1, 1000) as $value){
$activity = get_user_meta($value, 'user_last_activity', true);
var_dump($activity);
}
Run Code Online (Sandbox Code Playgroud)
我当然假设有 1000 个用户,但您可以看到局限性。
我建议对 user_meta 进行单个查询,而不是get_user_meta在 foreach 循环中运行。
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |