Как я уже написал
ankfrv в комменте, pluggable функции - это те, которые вы можете переназначить. Поэтому, решение простое - копируете оригинальную функцию wp_new_user_notification() из файла pluggable.php в свой functions.php и убираете код, который шлет письма админу. Получится на выходе такое:
if ( ! function_exists( 'wp_new_user_notification' ) ) :
function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
// Return early if no password is set.
if ( empty( $plaintext_pass ) ) {
return;
}
$user = get_userdata( $user_id );
$user_login = stripslashes( $user->user_login );
$user_email = stripslashes( $user->user_email );
// The blogname option is escaped with esc_html on the way into the database in sanitize_option
// we want to reverse this for the plain text arena of emails.
$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
$message = sprintf( __( 'Username: %s' ), $user_login) . "\r\n";
$message .= sprintf( __( 'Password: %s' ), $plaintext_pass) . "\r\n";
$message .= wp_login_url() . "\r\n";
wp_mail( $user_email, sprintf( __( '[%s] Your username and password' ), $blogname ), $message );
}
endif;
Есть плагин
Disable New User Notification Emails, который делает ровно то же.