wake-up-neo.com

Abrufen aller Benutzer-Metadaten vom Benutzer

Ich versuche, Bio- und andere benutzerdefinierte Metadaten für meine Benutzer auf einer Seite anzuzeigen. Also möchte ich die Benutzer-Metadaten-Tabelle danach abfragen. Ich habe versucht, aber keine Funktionen dafür gefunden.

Was ich suche, erhält alle Informationen, die einen einzelnen Datenbankaufruf tun.

Das ist, was ich bisher getan habe:

    $wp_user_search = new WP_User_Query( array( 'role' => 'agent', 'fields' => 'all_with_meta') );
    $agents = $wp_user_search->get_results();

foreach($agents as $agent){
  var_dump($agent);
}

Ergebnis:

    object(WP_User)#235 (7) { ["data"]=> object(stdClass)#233 (10) 
{ ["ID"]=> string(1) "2" ["user_login"]=> string(8) "test" ["user_pass"]=> string(34) "$P$BmGqM9h7Ct7fasdfsdf5bdBUnTIYeW.wI4AUIZ0" ["user_nicename"]=> string(8) "prionkor" ["user_email"]=> string(16) "[email protected]" ["user_url"]=> string(26) "http://barnesandklatt.com/" ["user_registered"]=> string(19) "2011-12-19 13:17:27" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0" ["display_name"]=> string(8) "prionkor" } ["ID"]=> int(2) ["caps"]=> array(1) { ["agent"]=> string(1) "1" } ["cap_key"]=> string(15) "wp_capabilities" ["roles"]=> array(1) { [0]=> string(5) "agent" } ["allcaps"]=> array(2) { ["read"]=> bool(true) ["agent"]=> string(1) "1" } ["filter"]=> NULL } 

Aber es scheint, dass ich nicht alle Metadaten Bio und andere benutzerdefinierte bekomme, die ich hinzugefügt habe (wie Twitter, Facebook, Telefon usw.)

Bitte lassen Sie mich wissen, wenn Sie einen Rat haben. Vielen Dank!

2
Sisir

WP_User-Objekte verfügen über einige magische Methoden, mit denen Sie auf jedes benutzerdefinierte Feld zugreifen können:

foreach ( $agents as $agent ) {
  var_dump( $agent->bio );
  var_dump( $agent->get( 'bio' ) );
}

Die beiden sind gleichwertig.

Weitere Informationen: http://scribu.net/wordpress/the-magic-of-wp_user.html

5
scribu