Ich versuche, Bio- und andere benutzerdefinierte Metadaten für meine Nutzer auf einer Seite anzuzeigen. Also möchte ich die Benutzer-Metadatentabelle abfragen. Ich habe es versucht, aber dafür keine functionen gefunden.
Was ich suche, ist, dass alle Informationen einen einzigen databaseanruf machen.
Das habe ich bisher gemacht:
$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) "sisir@tutrem.com" ["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 habe ich hinzugefügt (wie Twitter, Facebook, Telefon etc.)
Bitte lassen Sie mich wissen, wenn Sie einen Rat haben. Vielen Dank!
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 zwei sind gleichwertig.
Weitere Informationen: http://scribu.net/wordpress/the-magic-of-wp_user.html