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

use*_*807 2 wordpress

我有一个插件,可以在表wp_usermeta和下面存储用户活动meta_key user_last_activitymeta_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 个用户,但您可以看到局限性。

Tom*_*mas 6

我建议对 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)