wake-up-neo.net

der aktuelle Benutzer funktioniert nicht

Ich habe versucht, mit diesem Code aktuelle Benutzerinformationen abzurufen, aber nichts angezeigt. Meine WordPress-Version ist 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 />';
?> 

Die Ausgabe ist:

Nutzername:

Benutzer Email:

Vorname des Benutzers:

Nachname des Benutzers:

Anzeigename des Benutzers:

Benutzeridentifikation:

1
Abdus

Haben Sie versucht, die im Kommentarbereich angegebene Alternative "Sichere Nutzung" zu wählen?

Ich habe ehrlich gesagt keine Erfahrung mit wp_get_current_user(), da ich es nie benutze, aber auf jeden Fall sollte dies funktionieren:

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() sollte dasselbe tun, da es nichts anderes als ein Wrapper für die ersten beiden Zeilen oben ist, trotzdem muss das Obige funktionieren.

7
Johannes Pille

Vor Wordpress 4.5get_currentuserinfo() war eine akzeptable Option, wird jedoch jetzt zugunsten von wp_get_current_user() nicht mehr empfohlen.

Sie können wp_get_current_user() als Variable festlegen, um in Ihrer Funktion oder Seite einfach darauf zuzugreifen:

$current_user = wp_get_current_user();

Beispiel:

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.';

}

Es ist auch wichtig, sicherzustellen, dass dies alles nach init getan wird, um eine leere Ausgabe zu vermeiden.

1
Bryan Willis

So erhalten Sie den aktuellen Benutzer:

global $current_user;
$current_user = wp_get_current_user();

Danach können Sie $current_user->ID verwenden, wo Sie möchten.

Beispiel:

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