web-dev-qa-db-fra.com

Comment convertir des commentateurs anonymes en utilisateurs enregistrés?

Je souhaite convertir tous les commentaires anonymes déjà publiés en un utilisateur enregistré à l'aide du nom d'utilisateur et d'un mot de passe généré aléatoirement.

Je ne sais vraiment pas par où commencer.

Je souhaite également convertir de nouveaux commentateurs anonymes en un utilisateur enregistré. Si j'ajoute un point d'ancrage dans functions.php à l'aide de register_new_user, il générera automatiquement un mot de passe aléatoire pour l'utilisateur et l'enverra par courrier électronique, ou dois-je créer un champ mot de passe sous le formulaire de commentaire ainsi que?

Voici mon formulaire de commentaire lorsqu'un utilisateur n'est pas enregistré:

enter image description here

Voici à quoi ressemble mon code pour le formulaire de commentaire:

args = array(

    'comment_field' =>  '<div class="form-group the-comment-form"><label for="comment" class="custom-avatar">' . $useravatar_custom .

      '</label><div id="' . $textareaId . '"><textarea id="comment" class="form-control" name="comment" cols="45" rows="8" aria-required="true" placeholder="Join the discussion..."></textarea></div></div>',      

    'fields' => apply_filters( 'comment_form_default_fields', array(

      'author' =>

        '<div class="form-group comments-name">' .

        '<label for="author">' . __( 'Username', 'usertheme' ) . '</label> ' .

        ( $req ? '<span class="required">*</span>' : '' ) .

        '<input id="author" name="author" class="form-control" type="text" value="' . esc_attr( $commenter['comment_author'] ) .

        '" size="30"' . $aria_req . ' /></div>',


      'email' =>

        '<div class="form-group comments-email"><label for="email">' . __( 'Email', 'usertheme' ) . '</label> ' .

        ( $req ? '<span class="required">*</span>' : '' ) .

        '<input id="email" name="email" class="form-control" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) .

        '" size="30"' . $aria_req . ' /></div>'

Comme vous le voyez, un nom et une adresse électronique sont requis. Ce que je veux faire, c'est lui faire enregistrer un nouvel utilisateur. Mais je veux aussi générer un mot de passe aléatoire pour l'utilisateur.

Dois-je ajouter un champ de mot de passe au formulaire de commentaire? Ou dois-je utiliser la fonction de création de mot de passe de wordpress? Ou, si j'utilise register_new_user, générera-t-il automatiquement un mot de passe aléatoire et enverra-t-il à l'utilisateur ses nouvelles informations de connexion?

1
user6686780

Le register_new_user se déclenche après la création de l'utilisateur lorsque la fonction register_new_user() est exécutée et vous indiquera le $id du nouvel utilisateur créé.

Si vous utilisez register_new_user () vous n’avez pas besoin d’un champ de mot de passe, wordpress en créera un en l’envoyant à l’aide du courrier électronique fourni à l’utilisateur.

Donc oui, utiliser la fonction créera l'utilisateur et générera un mot de passe, et les détails de cette connexion seront envoyés à l'utilisateur.

1
David Lee