Correo electrónico de administrador personalizado para registro de nuevos usuarios
He buscado exhaustivamente en la web la solución a este pequeño problema, pero sigo encontrando resultados que me dicen cómo personalizar el correo electrónico de notificación, no la dirección de correo electrónico.
Tengo la dirección de correo electrónico del administrador en la configuración de WP como abc@xyz.tld, lo cual está bien, pero quiero que todos los registros de nuevos usuarios vayan a una dirección de correo electrónico diferente.
Por ejemplo:
Nuevo usuario registrado, el correo se envía a def@hij.td
Plugins, temas, etc. necesitan actualizarse, todos los correos van SOLO a abc@xyz.tld

Sí, puedes cambiar la dirección de correo electrónico utilizando la función wp_mail. Puedes ver cómo hacerlo aquí http://www.butlerblog.com/2011/07/14/changing-the-wp_mail-from-address-with-a-plugin/
Utiliza este plugin para la gestión de usuarios, soporta la dirección de correo electrónico cuando un nuevo usuario se registra https://wordpress.org/plugins/wp-members/
Usa este código en tu archivo functions.php.
function so174837_registration_email_alert( $user_id ) {
$user = get_userdata( $user_id );
$email = $user->user_email;
$message = $email . ' se ha registrado en tu sitio web.';
wp_mail( 'tucorreo@ejemplo.com', 'Nuevo registro de usuario', $message );
}
add_action('user_register', 'so174837_registration_email_alert');

Hola Krishna,
Gracias por tu rápida respuesta. ¿Me estás diciendo que instale el plugin además de tu script? ¿O en lugar de?

No instalé el plugin y solo usé el fragmento de código que pusiste y esto parece funcionar perfectamente.

¿qué se debe colocar en la sección strip_tags($_POST['user_login']) ??

Llegué a esta publicación mientras realizaba una búsqueda en Google sobre una pregunta específica relacionada con correos electrónicos. Lo curioso fue que la respuesta publicada hace referencia a una de las entradas de mi blog y a mi plugin. Eso es bastante genial, excepto porque en este caso no creo que realmente responda a la pregunta del OP.
La pregunta era que todas las notificaciones para el administrador deben enviarse a la dirección de correo electrónico especificada, EXCEPTO una: la notificación de nuevo usuario.
Mi enfoque para eso (suponiendo que el proceso fuera el registro nativo de WP) sería usar un filtro en wp_mail() (que, por cierto, tiene un filtro al final de todo el proceso).
Usaría ese filtro para examinar el contenido del mensaje y si se trata del correo que se envía para la notificación de nuevo usuario, entonces usaría el filtro para cambiar la dirección "to" (destinatario).
En este ejemplo, se examina el asunto para ver si contiene 'New User Registration' (Registro de nuevo usuario), que es parte de la línea de asunto en el correo de notificación predeterminado del administrador de WP. Si ese es el caso, entonces la dirección de correo electrónico "to" se cambia a la dirección deseada. De lo contrario, todos los demás casos pasan por el filtro sin cambios.
add_filter( 'wp_mail', 'my_wp_mail_filter' );
function my_wp_mail_filter( $args ) {
// Verifica el asunto del mensaje en busca de una cadena conocida en el correo de notificación.
if ( strpos( $args['subject'], 'New User Registration' ) ) {
// Este es el correo de notificación, así que cambia la dirección "to".
$args['to'] = 'def@hij.td';
}
return $args;
}
