Verständigung des Administrators wenn sich E-Mail-Adresse eines Users ändert

mailbox 341744 1920
Bildquelle: Pixabay, StefanHoffmann

Nachfolgendes Snippet sendet automatisch eine E-Mail an den Administrator wenn ein Benutzer seine E-Mail-Adresse ändert.

function my_user_profile_update_email( $user_id, $old_user_data ) {
	$mailbody = '';
	$current_user = get_userdata( $user_id );
	if ( $old_user_data->user_email != $current_user->user_email ) {
		$admin_email = get_option('admin_email');
	  	$mailbody .= sprintf( __( 'User %1$s has changed email on %2$s', 'mytextdomain' ), $user_id, get_option('blogname') ) . "\r\n\r\n";
	  	$mailbody .= sprintf( __( 'Display Name: %s', 'mytextdomain' ), $current_user->display_name ). "\r\n\r\n";
	  	$mailbody .= sprintf( __( 'Old Email: %s', 'mytextdomain' ), $old_user_data->user_email ). "\r\n\r\n";
	  	$mailbody .= sprintf( __( 'New Email: %s', 'mytextdomain' ), $current_user->user_email ). "\r\n\r\n";
	  	wp_mail( $admin_email, get_option('blogname') . ' - ' . sprintf( __( 'User Profile Update', 'mytextdomain' ), get_option('blogname') ), $mailbody );
	}
} 
add_action( 'profile_update', 'my_user_profile_update_email', 10, 2 );

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable