web-dev-qa-db-fra.com

Vérifier si l'auteur du commentaire est enregistré

Cela devrait être simple, mais j'ai essayé quelques codes, aucun ne fait l'affaire. Recherche sur Google, rien non plus. Il suffit de vérifier si l'auteur du commentaire est un utilisateur enregistré (pour que je puisse ajouter du code), s'il n'est pas enregistré, ne rien afficher.

Cela devrait faire l'affaire if( empty($comment_author_nickname) && empty($comment_author_email) ) mais je ne sais pas comment obtenir cette information

je vous remercie

5
whitelord

Je me demande si vous voulez dire ce genre de chèque:

if( $comment->user_id > 0 ) {
    // Registered comment author
} 

dans le modèle de rappel de votre commentaire.

Ceci est déterminé dans le fichier wp-comments-post.php:

$commentdata = compact('comment_post_ID', ..., 'user_ID' );
$comment_id = wp_new_comment( $commentdata );

mais d'où vient la variable user_ID, puisque cette variable n'est pas définie dans ce fichier.

Il s’agit donc de récupérer la variable globale $user_ID ou $GLOBALS['user_ID'] derrière notre dos ;-)

4
birgire

Je ne pense pas qu'il existe une méthode sûre et fiable pour le faire. À mon avis, c’est aussi quelque chose que je découragerais

Mes plus grandes préoccupations ici sont

  • Tout le monde peut entrer un faux email ou pseudo qui peut correspondre aux détails d'un membre déjà enregistré

  • Ce faisant, un utilisateur non enregistré pourrait pouvoir accéder aux détails d'un membre enregistré.

  • Quelle méthode allez-vous utiliser pour faire correspondre les informations saisies dans le formulaire de commentaire aux informations de tous vos membres inscrits

SOLUTION

La meilleure méthode pour y parvenir consiste à inviter un utilisateur à s’identifier s’il s’agit d’un membre déjà inscrit. En dehors de cela, comme je l’ai dit, je ne vois aucune autre méthode sûre et fiable pour y parvenir.

1
Pieter Goosen