Cuando se registra un nuevo usuario en WordPress tiene que activar su cuenta y para ello recibe un mensaje estándar de tu sitio WordPress.
El mensaje, nada empático ni elaborado, viene a decir esto:
De: WordPress ([email protected])
Para activar tu usuario, por favor, haz clic en el siguiente enlace:
(enlace)
Después de activar tu usuario recibirás «otro correo electrónico» con tus credenciales de acceso.
¿Verdad que hay cosas que te gustaría personalizar?
Para empezar, el remitente de los correos: WordPress. Es mucho mejor que el remitente seas tú, o tu cliente. Además de impersonal es confuso si no saben que se han registrado en un sitio WordPress.
De paso, el email del remitente sería mucho mejor que no fuese el por defecto [email protected] sino alguno más específico ¿no te parece?
Lo siguiente a personalizar sería el asunto, para que sea algo más personal, y para finalizar, no estaría mal tampoco personalizar el mismo mensaje del correo electrónico.
La mala noticia es que no es fácil cambiar estas configuraciones.
Índice de contenidos
Usando funciones y filtros WordPress
A poco que investigas te das cuenta de que para hacer estos cambios hay que usar unas cuantas funciones y filtros del núcleo de WordPress, a saber:
- wpmu_signup_user_notification:
- wpmu_signup_user_notification_email
- wpmu_signup_user_notification_subject
- wp_mail_from
- wp_mail_from_name
Una vez analizado el uso y argumentos de los mismos ya podemos ponernos manos a la obra y modificar el correo electrónico de activación…
Código para personalizar los emails de activación de WordPress
//Primero configuramos nombre y email del remitente
//Este es el filtro del mail de remitente:
add_filter('wp_mail_from', 'new_mail_from');
//Este es el filtro para el nombre del remitente:
add_filter('wp_mail_from_name', 'new_mail_from_name');
//Aquí es donde va el nuevo email remitente. Cámbialo a tu gusto
function new_mail_from($old) {
return '[email protected]';
}
//Aquí es donde va el nombre del remitente
function new_mail_from_name($old) {
return 'Nombre del remitente';
}
//A continuación hacemos un gancho en el asunto y configuramos una función para cambiarlo
add_filter( 'wpmu_signup_user_notification_subject', 'my_activation_subject', 10, 4 );
function my_activation_subject( $text ) {
//Aquí es donde introducimos el nuevo asunto para el email de activación
return 'Personalízame: Tienes que activar tu cuenta o lo que sea que quieras poner.';
}
// Para finalizar hacemos un gancho en el email y ejecutamos una función para modificar el mensaje
add_filter('wpmu_signup_user_notification_email', 'my_custom_email_message', 10, 4);
function my_custom_email_message($message, $user, $user_email, $key) {
//Y este es el nuevo mensaje
$message = sprintf(__(( "Para activar tu cuenta haz clic en el enlace siguiente:\n\n%s\n\n Luego bla bla bla.\n\n" ),
$user, $user_email, $key, $meta),site_url( "?page=gf_activation&key=$key" ));
return sprintf($message);
}
¿Qué hago con este código?
Pues o haces tu propio plugin añadiendo las obligadas cabeceras, o lo añades a tu plugin de personalizaciones, o al archivo functions.php del tema activo, lo que prefieras.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Muy útil poder hacerlo sin plugins! 😉
Una pregunta Fernando, que crees de mayor utilidad, tener tu propio plugins de functions o utiiizar uno como code snippets?
Yo soy más de tener mi propio plugin en la carpeta mu-plugins
https://ayudawp.com/que-son-los-mu-plugins-de-wordpress/
Gracias Fernando, no conocía la opción de mu-plugins.
Hola Fernando… Gracias por la información!!, en mi caso hice el login a mano a través del functions.php, para poder entonces hacer el envío del correo tendría que hacer el llamado desde mi función??. Saludos!!!
Muy bueno, una pregunta ¿se puede desactivar el envío del email al usuario?
¡Muchas gracias por la enseñanza!
Necesito conectar a Mailchimp un formulario de suscripción para newsletter (hecho con Elementor pro), de tal modo que al suscriptor le mande un email de bienvenida parecido a este ejemplo: https://i.imgur.com/bmqpdkM.png
¿Puedes ayudarme?
Hola
Cordial saludo
Tengo una tienda privada donde se ingresa en la pagina principal que es “ mi cuenta” pagina predeterminada de woocommerce, donde modifiqué el formulario de registro, sugiriendo más preguntas y subir una foto, esto es para vender productos profesionales de peluquería, la foto es para confirmar el diploma de profesional.
Quiero que el email de nuevo usuario llegue al correo de admin con la información de aprobación, si bien ya solucioné que llegue el correo no se como utilizar los argumentos del formulario e ingresarlo en el email de aprobación para que lleguen con el email del administrador, asi saber cada vez que se registra un nuevo cliente y verificar su información desde dicho email.
¿Es posible su ayuda y orientación,Tiene algún articulo que me ayude porfavor?
el inicio del sitio: https://pro.yberaparis.co
Plugin usados en el proceso:
WordPress User Extra Fields
WooCommerce Private Store
Theme My Login
New User Approve Premium