send_password_change_email
and send_email_change_email
are the filters used for sending the user an email, if they change their password or an account has been created for them.
It is not responsible for the “New user registration on your site” mail. The function that does this is wp_new_user_notification()
, which is actually one of the pluggable functions.
You could simply overwrite it, but I find doing this very tricky. Instead, remove the action (which is actually wp_send_new_user_notifications
, which is nothing more than a wrapper for the function itself). The action gets added like so
add_action( 'register_new_user', 'wp_send_new_user_notifications' );
add_action( 'edit_user_created_user', 'wp_send_new_user_notifications', 10, 2 );
If you “reverse” that code, it should work. Assuming your loader works as the regular methods:
$this->loader->remove_action(
'register_new_user',
'wp_send_new_user_notifications'
);
$this->loader->remove_action(
'edit_user_created_user',
'wp_send_new_user_notifications',
10,
2
);