web-dev-qa-db-fra.com

Obtenir toutes les métadonnées de l'utilisateur de l'utilisateur

J'essaie de montrer la bio et d'autres métadonnées personnalisées pour mes utilisateurs dans une page. Donc, je veux interroger la table de métadonnées de l'utilisateur pour cela. J'ai essayé mais je n'ai trouvé aucune fonction pour cela.

Ce que je cherche, c'est obtenir toutes les informations en faisant un appel de base de données unique.

C'est ce que j'ai fait jusqu'à présent:

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

Résultat:

    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 } 

Mais il semble que je ne reçois pas toutes les méta-données Bio et autres personnalisations que j'ai ajoutées (comme Twitter, Facebook, téléphone, etc.)

S'il vous plaît laissez-moi savoir si vous avez des conseils. Merci!

2
Sisir

Les objets WP_User ont des méthodes magiques qui vous permettent d'accéder à n'importe quel champ personnalisé:

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

Les deux sont équivalents.

Plus d'infos: http://scribu.net/wordpress/the-magic-of-wp_user.html

5
scribu