J'essaie d'utiliser des informations sur l'utilisateur actuel dans un plugin que je conçois et j'ai vu des gens s'y prendre de différentes manières.
Cela semble fonctionner, mais est-ce qu'il me manque quelque chose?
global $current_user;
// Use information
echo "User ID: " . $current_user->user_id;
echo "User First Name: " . $current_user->first_name;
J'ai vu des gens appeler la fonction get_currentuserinfo()
sur la ligne suivante après avoir déclaré la variable globale $ current_user. Cependant, cela semble fonctionner sans cet appel - est-ce nécessaire?
De plus, il y a la fonction wp_get_current_user()
- quelle est la différence entre this et get_currentuserinfo()
?
J'ai également vu des personnes utiliser une variable globale appelée $profileuser
et utiliser get_user_to_edit()
pour la définir sur l'objet utilisateur. Y at-il un avantage à cela?
J'ai également vu des gens se référer directement à la variable globale $user_ID
en plus d'utiliser le $current_user
. Pourquoi n'utilisent-ils pas simplement $current_user->ID
?
Appelez la fonction get_currentuserinfo()
sur la ligne suivante après avoir déclaré la variable globale $current_user
Quelle est la différence entre wp_get_current_user()
et get_currentuserinfo()
?
Ci-dessous, un extrait:
function wp_get_current_user() {
global $current_user;
get_currentuserinfo();
return $current_user;
}
Je pense que le code source répond à vos deux premières questions, non?
Rappelez-vous que wp_get_current_user()
est défini dans wp-includes/pluggable.php
pour pouvoir être remplacé.
En outre, il est prudent de s'en tenir à global $current_user
car WordPress appelle wp_get_current_user()
lors de l'initialisation.
Plus précisément, wp-settings.php -> new WP -> WP-> init () -> wp_get_current_user
L'utilisation de $profileuser
, cette variable globale n'est disponible que lorsque vous modifiez un utilisateur (user-edit.php) et que les données en sont le contenu.
La dernière question à laquelle je ne sais pas vraiment comment répondre alors je laisserai les autres.
J'espère que ça ne vous dérange pas.