2016-05-30 3 views
1

Je veux afficher pour les utilisateurs une fois connecté au lieu du mot par défaut Mon compte Je veux afficher le nom de l'utilisateur, j'ai essayé ce code mais il n'affiche rien!Changer "Mon compte" en "Nom d'utilisateur" WooCommerce sidebar

Il semble qu'il n'a pas reconnu la variable $current_user dans le fichier situé à: wp-content/themes/THEMENAME/cadre/fonctions/woo-account.php

printf(__('%s', 'wpdance'),$current_user->user_lastname); 

était:

printf(__('My Account', 'wpdance')); 

Et j'ai aussi essayé d'obtenir tout en utilisant ce code:

<?php global $current_user; 
    get_currentuserinfo(); 

    echo 'Username: ' . $current_user->user_login . "\n"; 
    echo 'User email: ' . $current_user->user_email . "\n"; 
    echo 'User level: ' . $current_user->user_level . "\n"; 
    echo 'User first name: ' . $current_user->user_firstname . "\n"; 
    echo 'User last name: ' . $current_user->user_lastname . "\n"; 
    echo 'User display name: ' . $current_user->display_name . "\n"; 
    echo 'User ID: ' . $current_user->ID . "\n"; 

>

Mais User first name: et User last name: étaient vides!

Est-ce que quelqu'un a une suggestion ou une idée?

Merci à l'avance!

+0

Avez-vous essayé 'printf (__ ($ current_user-> user_lastname, 'wpdance')) "? – Peon

+0

Je l'ai fait et ça ne marche pas! –

Répondre

1

La meilleure façon est d'utiliser wp_get_current_user()(pas besoin d'une variable globale) et conditionnel pour être sûr que l'utilisateur est connecté:

if (is_user_logged_in()) { 
    $user_info = wp_get_current_user(); 
    $user_last_name = $user_info->user_lastname; 
    printf(__('%s', 'wpdance'), $user_last_name); 
} 

Ou avec le nom complet:

if (is_user_logged_in()) { 
    $user_info = wp_get_current_user(); 
    $user_complete_name = $user_info->user_firstname . ' ' . $user_info->user_lastname; 
    printf(__('%s', 'wpdance'), $user_complete_name); 
} 

Références:

+0

Merci de partager votre réponse mais elle n'affiche rien! –

+0

L'erreur est: 'Remarque: La méthode du constructeur pour WP_Widget dans mgwoocommercebrands_list_widget est obsolète depuis la version 4.3.0! Utilisez __construct() à la place. dans /home/epicerymarket/public_html/wp-includes/functions.php on line 3718' Avez-vous une idée? –

+0

Je vous ai eu, vous avez raison, votre code est corret! donc j'ai un autre problème, je vais poster une nouvelle question à ce sujet! –

1

Essayez d'appeler

global $current_user; 
get_currentuserinfo(); 

avant

printf(__('%s', 'wpdance'),$current_user->user_lastname); 

Voir https://codex.wordpress.org/Function_Reference/get_currentuserinfo#Examples

Et êtes-vous que le nom est toujours réglé? Probablement vous pouvez vous assurer que $current_user fonctionne, si $current_user->ID au moins renvoie une valeur.

et activer le débogage dans votre wp_config.php pourrait aider ainsi à afficher tous les avis et les erreurs:

define('WP_DEBUG', true); 

Voir https://codex.wordpress.org/Debugging_in_WordPress

+0

Merci pour votre réponse, j'ai essayé et j'ai eu cette erreur: 'Remarque: La méthode du constructeur appelé pour WP_Widget dans mgwoocommercebrands_list_widget est obsolète depuis la version 4.3.0! Utilisez __construct() à la place. dans /home/classi33/public_html/wp-includes/functions.php à la ligne 3718' Vous en avez une idée? –

+0

Et je pense que ça a un rapport avec ça! –