Je veux créer un utilisateur via un script autonome. Je souhaite qu'un e-mail d'activation soit envoyé, de la même manière que lorsqu'un utilisateur est créé à partir de l'écran Ajouter un utilisateur. Un email est mis en place avec un lien pour créer le mot de passe. Il n'y a pas de mot de passe dans l'email.
Il semble y avoir diverses fonctions pour créer de nouveaux utilisateurs.
Il y a aussi
Ci-dessous le code que j'ai. Il crée un nouvel utilisateur, mais ce n'est pas le courrier électronique de notification. J'ai vérifié que wp-mail () et php mail () fonctionnaient correctement.
Je ne suis pas sûr que ce soit la bonne direction. Je pense qu'il pourrait y avoir un moyen plus facile de le faire. Si c'est la bonne direction, des indications sur la raison pour laquelle la notification n'est pas envoyée?
Merci.
<?php
define( 'SHORTINIT', true );
require_once( '/var/www/html/mysite/wp-load.php' );
require_once ('/var/www/html/mysite/wp-includes/user.php');
require_once ('/var/www/html/mysite/wp-includes/formatting.php');
require_once ('/var/www/html/mysite/wp-includes/capabilities.php');
require_once ('/var/www/html/mysite/wp-includes/pluggable.php');
require_once ('/var/www/html/mysite/wp-includes/kses.php');
require_once ('/var/www/html/mysite/wp-includes/meta.php');
function __() {}
wp_create_user ( 'testuser8', 'apsswd', '[email protected]' );
wp_new_user_notification ( testuser8,null,'both' );
?>
Vous devriez lisez la page de codex sur wp_create_user .
Vous ne décrivez pas le contexte dans lequel votre code est exécuté. Vous ne devriez pas avoir besoin de tous ces appels require_once
.
Quoi qu'il en soit, dans cette ligne wp_new_user_notification ( testuser8,null,'both' );
qu'est-ce que testuser8
? Ce n'est pas une variable, ce n'est pas une chaîne, c'est juste un texte qui génère probablement une erreur.
Essayer:
$user_id = wp_create_user ( 'testuser8', 'apsswd', '[email protected]' );
if( is_wp_error( $user_id ) )
var_dump( $user_id );
else
wp_new_user_notification ( $user_id, null,'both' );
Utilisez WP/CLI User Create et insérez un script.
wp user create
- Créer un utilisateur.
$ wp user create testuser8 [email protected] --user_pass=apsswd--role=author --send-email
Success: Created user 3.