2017-03-14 7 views
1

bekommen habe ich ein Plugin mit speichert Benutzeraktivität in der Tabelle wp_usermeta und unter meta_keyuser_last_activity und meta_value so etwas wie a:12:{} wo 12 die Benutzer-ID ist.eine Meta von mehreren Benutzern in Wordpress

Also, wenn ich mit der ID als Benutzer angemeldet wurde: 12 meine aktuelle Seite würde diesen Code ausführen:

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

var_dump($activity); 

so, das ist ziemlich viel es. Außer, wenn ich als Admin angemeldet wäre, würde ich gerne ALLE Aktivitäten von allen Benutzern sehen.

Also, gibt es sowieso alle Benutzer Meta? zur Zeit mache ich blendend

foreach(range(1, 1000) as $value){ 
    $activity = get_user_meta($value, 'user_last_activity', true); 
    var_dump($activity); 
} 

ich offcourse bin vorausgesetzt, es gibt 1000 Benutzer, aber Sie die Einschränkungen sehen.

Antwort

1

Sie können die get_users() function verwenden, um alle Benutzer auf Ihrer Website zu erhalten, und dann diese durchlaufen, um die Benutzeraktivität zu erfassen.

$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); 
} 
+0

danke für die Antwort. Kannst du vielleicht auch diese Fragen überprüfen http://stackoverflow.com/questions/42791718/disable-ssl-connection-in-wordpress? Vielen Dank – user7342807

0

Ich würde Ihnen raten, eine einzelne Abfrage für die user_meta zu tun, anstatt get_user_meta innerhalb einer foreach-Schleife ausgeführt wird.

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); 
Verwandte Themen