Funcția get current user nu funcționează
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:

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.

Înainte de Wordpress 4.5,
get_currentuserinfo()
era o opțiune acceptabilă, dar acum este învechită, în favoarea funcțieiwp_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.

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

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ă).
