Il semble impossible de surcharger cette fonction. Je suis en train d'envoyer l'ID utilisateur créé, la messagerie et le mot de passe à une autre base de données alors j'ai ajouté ce crochet:Woocommerce - override wc_create_new_customer
function ex_create_new_customer($email, $username = '', $password = '') {
// add to datastory BD
/* GenSalt */
$string = str_shuffle(mt_rand());
$salt = uniqid($string ,true);
$rounds = 12;
$crypted_password = crypt($_POST['password'], '$2y$'. $rounds . '$' . $salt);
/*request sql*/
$servername = "server_address";
$username = "my_user";
$passworddb = "user_pass_for_db";
$conn = new PDO("mysql:host=$servername;dbname=db_name", $username, $passworddb);
try {
$conn->exec("INSERT INTO user(user_nom, user_prenom, user_mdp, user_mail) VALUES('".$_POST['billing_last_name']."', '".$_POST['billing_first_name']."', '".$crypted_password."', '0', '".$_POST['email']."')");
} catch(PDOException $e) {
die($e->getMessage());
}
}
add_action('wc_create_new_customer', 'ex_create_new_customerZ', 1 , 3);
Même changer le nom de la fonction à ex_create_new_customerZ
ne déclenche pas une erreur.
Merci 'l'add_action ('woocommerce_created_customer', 'ex_create_ new_customer', 99, 3);' fonctionne – Core972
Vous remarquerez peut-être qu'il y a un filtre que vous pouvez utiliser si vous voulez ajouter des données de votre serveur distant avec la séquence wp_insert_user. – Benoti