Funcția get current user nu funcționează

3 iun. 2012, 01:40:56
Vizualizări: 15.8K
Voturi: 1

Am încercat acest cod pentru a obține informațiile utilizatorului curent, dar nu afișează nimic. Versiunea mea de WordPress este 3.3.1

<?php
    wp_get_current_user();
    /**
     * @exemplu Utilizare corectă: $current_user = wp_get_current_user();
     * if ( !($current_user instanceof WP_User) )
     *     return;
     */
    echo 'Nume utilizator: ' . $current_user->user_login . '<br />';
    echo 'Email utilizator: ' . $current_user->user_email . '<br />';
    echo 'Prenume utilizator: ' . $current_user->user_firstname . '<br />';
    echo 'Nume familie utilizator: ' . $current_user->user_lastname . '<br />';
    echo 'Nume afișat utilizator: ' . $current_user->display_name . '<br />';
    echo 'ID utilizator: ' . $current_user->ID . '<br />';
?>

Rezultatul este:

Nume utilizator:

Email utilizator:

Prenume utilizator:

Nume familie utilizator:

Nume afișat utilizator:

ID utilizator:

0
Toate răspunsurile la întrebare 3
0

Ai încercat să folosești alternativa "Utilizare sigură" dată în secțiunea comentată?

Sincer să fiu, nu am experiență cu wp_get_current_user(), deoarece nu l-am folosit niciodată, dar oricum, acest cod ar trebui să funcționeze:

global $current_user;

echo 'Nume utilizator: ' . $current_user->user_login . '<br />';
echo 'Email utilizator: ' . $current_user->user_email . '<br />';
echo 'Prenume utilizator: ' . $current_user->user_firstname . '<br />';
echo 'Nume utilizator: ' . $current_user->user_lastname . '<br />';
echo 'Nume afișat utilizator: ' . $current_user->display_name . '<br />';
echo 'ID utilizator: ' . $current_user->ID;

wp_get_current_user() ar trebui să facă același lucru, deoarece nu este decât un wrapper pentru primele două linii de mai sus, totuși, codul de mai sus trebuie să funcționeze.

3 iun. 2012 03:41:10
0

Înainte de Wordpress 4.5, get_currentuserinfo() era o opțiune acceptabilă, dar acum este învechită, în favoarea funcției wp_get_current_user().

Puteți seta wp_get_current_user() ca variabilă pentru a o accesa ușor în funcția sau pagina dvs.:

$current_user = wp_get_current_user();

Exemplu:

if ( is_user_logged_in() ) {

    $current_user = wp_get_current_user();

    echo 'Nume utilizator: ' . $current_user->user_login . '<br />';
    echo 'Email utilizator: ' . $current_user->user_email . '<br />';
    echo 'Prenume utilizator: ' . $current_user->user_firstname . '<br />';
    echo 'Nume de familie utilizator: ' . $current_user->user_lastname . '<br />';
    echo 'Nume afișat utilizator: ' . $current_user->display_name . '<br />';
    echo 'ID utilizator: '. $current_user->ID . '<br />';
    echo 'Avatar utilizator: ' . get_avatar( $current_user->ID, 64 ) . '<br />';

} else {

    echo 'Utilizatorul nu este autentificat.';

}

De asemenea, este important să vă asigurați că aceste acțiuni sunt efectuate după init pentru a evita afișarea unui conținut gol.

27 ian. 2016 09:27:59
2

Așa poți obține utilizatorul curent:

global $current_user;
$current_user = wp_get_current_user();

După aceea, poți folosi $current_user->ID oriunde ai nevoie.

Exemplu:

if ( is_user_logged_in() ) {
    $current_user = wp_get_current_user();
    echo 'Nume utilizator: ' . $current_user->user_login . '--';
    echo 'Email utilizator: ' . $current_user->user_email . '--';
    echo 'Prenume utilizator: ' . $current_user->user_firstname . '--';
    echo 'Nume familie utilizator: ' . $current_user->user_lastname . '--';
    echo 'Nume afișat utilizator: ' . $current_user->display_name . '--';
    echo 'ID utilizator: '. $current_user->ID . '--';
} else {
    echo 'Utilizatorul nu este autentificat.';
}
27 ian. 2016 06:18:23
Comentarii

De ce ai nevoie/folosești variabila globală?

Mark Kaplun Mark Kaplun
27 ian. 2016 06:32:57

Mark, tocmai am actualizat răspunsul, dar pentru a răspunde la întrebarea ta, variabila globală este inutilă, deoarece acesta este principalul motiv pentru a folosi wp_get_current_user() (dă click pe link pentru a vedea cum funcția accesează variabila globală, dacă ești curios cum funcționează).

Bryan Willis Bryan Willis
27 ian. 2016 07:52:49