web-dev-qa-db-fra.com

Champ utilisateur personnalisé dans le widget Dashboard

J'ai vérifié justin tadlocks le tutoriel de champ de profil personnalisé et je voulais ajouter le champ dans le widget de tableau de bord personnalisé mais il semble que cela ne fonctionne pas. Je souhaite afficher toutes les informations utilisateur dans ce widget.

Tout ce que je veux faire, c'est ajouter les informations personnalisées du champ de profil à ce widget de tableau de bord et il semble ne pas fonctionner.

Mon objectif ici est d’obtenir toutes les informations sur l’auteur et de les afficher sur ce tableau de bord. Des idées comment accomplir cette tâche?

function example_dashboard_widget_function() {
// Display whatever it is you want to show
the_author_meta();
 } 

// Create the function use in the action hook
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('example_dashboard_widget', 'User Profile',    'example_dashboard_widget_function');
}
// Hoook into the 'wp_dashboard_setup' action to register our otherfunctions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
1
Ryu

Il y a get_the_author_meta() pour une telle tâche. (Les fonctions get_* ne font normalement pas écho/impression de la sortie - d'où le nom).

// Both values are *optional*
get_the_author_meta( $field, $user_id );

Normalement, il est uniquement destiné à être utilisé dans une boucle pour obtenir les données de l'auteur des publications. Il utilise donc global $authordata; en interne.

Mais , vous pouvez également insérer les données de l'utilisateur actuel, car les données de l'utilisateur sont toujours les mêmes (mêmes tables, mêmes données).

global $current_user;

// Test to see what you get:
echo '<pre>'.var_export( $current_user, true ).'</pre>';

get_the_author_meta( '', $current_user->ID );

// OR: simply, without the global
get_the_author_meta( '', get_current_user_id() );

Il ne reste maintenant qu’à appeler la méta pour chaque champ, en utilisant get_user_meta() , qui est à peu près égal (pour cette tâche) à get_the_author_meta();.

$user_meta = get_user_meta( get_current_user_id() );
// OR: Use the function, where get_user_meta() is the API wrapper for
$user_meta = get_meta_data( 'user', get_current_user_id(), '', true );

Ensuite, faites-le en boucle:

foreach ( $user_meta as $meta_data )
    echo '<pre>'.var_export( $meta_data, true ).'</pre>';
1
kaiser