web-dev-qa-db-fra.com

Créer une variable globale à utiliser dans tous les modèles

J'ai utilisé le code suivant

function userinfo_global() {
    global $users_info;
    wp_get_current_user();
}
add_action( 'init', 'userinfo_global' );

dans un fichier users.php, ce fichier est appelé à l'intérieur de funtions.php.

dans le fichier modèle j'ai <?php echo $users_info->user_firstname; ?>, mais pas de travail ..

Je veux faire wp_get_current_user(); global

Tu sais pourquoi?

4
Juan David

Vous devrez également remplir la variable, par exemple.

function userinfo_global() {
    global $users_info;
    $users_info = wp_get_current_user();
}
add_action( 'init', 'userinfo_global' );

Et vous devriez alors pouvoir utiliser $ users_info partout dans le contexte global. Gardez à l'esprit que certains modèles de pars (header.php, footer.php, ceux utilisés via get_template_part) ne sont pas dans la portée globale par défaut. Vous devrez donc utiliser global $users_info; dans ces fichiers avant d'accéder à la variable.

5
janh

wp_get_current_user() est déjà une fonction globale prédéfinie par WordPress. Comme vous devez ajouter global $users_info; à vos modèles pour vous assurer que vous avez toujours la variable globale, vous pouvez également avoir $users_info = wp_get_current_user(); à sa place.

4
Peter HvD