web-dev-qa-db-fra.com

Comment puis-je afficher le prénom et le nom du commentateur dans les commentaires?

Comment puis-je afficher le prénom et le nom du commentateur dans les commentaires? ... plutôt que leur nom d'utilisateur tel qu'il est actuellement affiché.

1
Pete

Cela vous donnera une combinaison prénom + nom si disponible, ou juste le prénom ou nom si c'est tout ce que votre utilisateur a soumis.

Cela suppose que vous êtes intéressé par les noms d'utilisateurs enregistrés. Si vous voulez ajouter des prénoms et des noms à votre formulaire de commentaire ... ou traiter le prénom + nom de famille comme "nom d'affichage" à partir de l'arrière (ainsi, éventuellement, pas uniquement dans les formulaires de commentaires), ce serait quelque chose de différent!

Pour le thème functions.php ou plug-in:

add_filter( 'get_comment_author', 'wpse_use_user_real_name', 10, 3 ) ;

//use registered commenter first and/or last names if available
function wpse_use_user_real_name( $author, $comment_id, $comment ) {

    $firstname = '' ;
    $lastname = '' ;

    //returns 0 for unregistered commenters
    $user_id = $comment->user_id ;

    if ( $user_id ) {

        $user_object = get_userdata( $user_id ) ;

        $firstname = $user_object->user_firstname ;

        $lastname = $user_object->user_lastname ; 

    }

    if ( $firstname || $lastname ) {

        $author = $firstname . ' ' . $lastname ; 

        //remove blank space if one of two names is missing
        $author = trim( $author ) ;

    }

    return $author ;

}

Vos résultats peuvent bien sûr varier en fonction de votre installation et des exigences particulières que vous avez éventuellement ajoutées: 1) pour commenter (c'est-à-dire "n'importe qui" ou "enregistré seulement") et 2) pour vous inscrire (le nom et le prénom sont-ils requis? ).

En outre, dans une installation complète, vous souhaiterez peut-être ajuster la page de profil de l'utilisateur, où l'utilisateur sélectionne un "nom d'affichage". Si vous souhaitez afficher firstname/lastname à la place, il serait préférable de traiter cette question d'une manière ou d'une autre - en limitant les choix, par exemple, ou en ajustant les libellés et les instructions.

1
CK MacLeod

Regardez l'argument 'callback' de la fonction wp_list_comments. Vous pouvez définir une fonction propre pour restituer la liste de commentaires: https://codex.wordpress.org/Function_Reference/wp_list_comments .

Après quelques recherches sur Google, j'ai trouvé un article complet et de qualité qui pourrait vous aider: https://blog.josemcastaneda.com/2013/05/29/custom-comment/

0
Felipe Rodrigues