web-dev-qa-db-fra.com

obtenir que l'utilisateur actuel ne travaille pas

J'essayais ce code pour obtenir des informations sur les utilisateurs actuels, mais sans rien afficher. Ma version de WordPress est 3.3.1

<?php
    wp_get_current_user();
    /**
     * @example Safe usage: $current_user = wp_get_current_user();
     * if ( !($current_user instanceof WP_User) )
     *     return;
     */
    echo 'Username: ' . $current_user->user_login . '<br />';
    echo 'User email: ' . $current_user->user_email . '<br />';
    echo 'User first name: ' . $current_user->user_firstname . '<br />';
    echo 'User last name: ' . $current_user->user_lastname . '<br />';
    echo 'User display name: ' . $current_user->display_name . '<br />';
    echo 'User ID: ' . $current_user->ID . '<br />';
?> 

La sortie est:

Nom d'utilisateur:

Email de l'utilisateur:

Nom d'utilisateur:

Nom d'utilisateur:

Nom d'affichage de l'utilisateur:

Identifiant d'utilisateur:

1
Abdus

Avez-vous essayé d'utiliser l'option "Utilisation sans danger" donnée dans la section commentée?

Honnêtement, je n'ai aucune expérience avec wp_get_current_user(), puisque je ne l'utilise jamais, mais de toute façon, cela devrait fonctionner:

global $current_user;

echo 'Username: ' . $current_user->user_login . '<br />';
echo 'User email: ' . $current_user->user_email . '<br />';
echo 'User first name: ' . $current_user->user_firstname . '<br />';
echo 'User last name: ' . $current_user->user_lastname . '<br />';
echo 'User display name: ' . $current_user->display_name . '<br />';
echo 'User ID: ' . $current_user->ID;

wp_get_current_user() devrait faire la même chose, car ce n’est rien qu’un wrapper pour les deux premières lignes ci-dessus, néanmoins, ce qui précède doit fonctionner.

7
Johannes Pille

AvantWordpress 4.5get_currentuserinfo() était une option acceptable, mais est maintenant obsolète, en faveur de wp_get_current_user().

Vous pouvez définir la wp_get_current_user() en tant que variable pour pouvoir y accéder facilement dans votre fonction ou votre page:

$current_user = wp_get_current_user();

Exemple:

if ( is_user_logged_in() ) {

    $current_user = wp_get_current_user();

    echo 'Username: ' . $current_user->user_login . '<br />';
    echo 'User email: ' . $current_user->user_email . '<br />';
    echo 'User first name: ' . $current_user->user_firstname . '<br />';
    echo 'User last name: ' . $current_user->user_lastname . '<br />';
    echo 'User display name: ' . $current_user->display_name . '<br />';
    echo 'User ID: '. $current_user->ID . '<br />';
    echo 'User avatar: ' . get_avatar( $current_user->ID, 64 ) . '<br />';

} else {

    echo 'User not logged in.';

}

De plus, il est important de s’assurer que tout cela est fait après init afin d’éviter toute sortie vierge.

1
Bryan Willis

Voici comment vous pouvez obtenir l'utilisateur actuel:

global $current_user;
$current_user = wp_get_current_user();

Après cela, vous pouvez utiliser $current_user->ID où vous voulez.

Exemple:

if ( is_user_logged_in() ) {
    $current_user = wp_get_current_user();
    echo 'Username: ' . $current_user->user_login . '--';
    echo 'User email: ' . $current_user->user_email . '--';
    echo 'User first name: ' . $current_user->user_firstname . '--';
    echo 'User last name: ' . $current_user->user_lastname . '--';
    echo 'User display name: ' . $current_user->display_name . '--';
    echo 'User ID: '. $current_user->ID . '--';
} else {
    echo 'User not logged in.';
}
1
AjayShanker