Lorsqu'un nouvel utilisateur s'inscrit, l'email de confirmation est reçu et voici ce qu'il dit:
Username: testuser To set your password, visit the following address:
Mais je veux le personnaliser, alors j'ai ajouté le code suivant au functions.php
mais ça ne marche pas !!! et toujours l'email par défaut sera envoyé !!!
J'utilise 4.9.9 wordpress
<?php
add_filter( 'wp_new_user_notification_email', 'custom_wp_new_user_notification_email', 10, 3 );
function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$wp_new_user_notification_email['subject'] = sprintf(__( '[%s] Your username and password' ), $blogname, $user->user_login );
$key = get_password_reset_key( $user );
$message = sprintf(__('Welcome to our website,')) . "\r\n\r\n";
$message .= 'To set your password, visit the following address:' . "\r\n\r\n";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";
$message .= "After this you can enjoy our website!" . "\r\n\r\n";
$message .= "Kind regards," . "\r\n";
$message .= "Support Team" . "\r\n";
$wp_new_user_notification_email['message'] = $message;
$wp_new_user_notification_email['headers'] = 'From: MyName<[email protected]>';
// this just changes the sender name and email to whatever you want (instead of the default WordPress <[email protected]>
return $wp_new_user_notification_email;
}
?>
pourquoi le code ne fonctionne pas? voulez-vous me aider?
En réalité, le code que vous avez n’est pas faux (je l’ai testé comme vous l’avez indiqué ci-dessus et il fonctionne très bien).
Mais vous devez tenir compte de quelques possibilités supplémentaires:
wp_new_user_notification()
est une fonction enfichable. Donc, il peut être remplacé par un plugin ou par un code personnalisé. Et si elle est remplacée, il est possible que la version personnalisée de la fonction ne contienne pas le crochet de filtre wp_new_user_notification_email
.wp_new_user_notification()
.Avec ces possibilités, je vous recommande de procéder comme suit:
wp_new_user_notification_email
.