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!
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