MemberPress-Integrationen ermöglichen es Ihnen, mitgliederbezogene Daten mit Plugins und Plattformen von Drittanbietern zu synchronisieren. Auf der anderen Seite, wenn Benutzer ihre Kontodaten aktualisieren, wird diese Änderung nicht automatisch durch MemberPress Integrationen synchronisiert werden.
Mit diesem Workaround können Sie stattdessen die Datenänderungen Ihrer Mitglieder überwachen und bei Bedarf manuell aktualisieren.
In diesem Dokument finden Sie das Code-Snippet, das Benachrichtigungen sendet, wenn Benutzer ihre Kontodaten aktualisieren. Außerdem wird erklärt, wie Sie den Code in Ihre Website einfügen und ihn nach Ihren Bedürfnissen ändern können.
Umgehung der Benachrichtigung über die Aktualisierung von Benutzerkontodaten
Wie bereits erwähnt, werden MemberPress-Integrationen ausgelöst, wenn mitgliedschaftsbezogene Veranstaltungen auf Ihrer Website geschehen.
Wenn beispielsweise ein Benutzer eine Mitgliedschaft abonniert, löst dieses Ereignis alle Integrationen aus, die auf dieses Ereignis reagieren. Dies könnte jede Marketing-Integration die Sie an das MemberPress-Plugin angeschlossen haben (z. B. MailChimp) oder Null-Code-Integration.
Hier werden die Daten des Nutzers automatisch mit angeschlossenen Plugins und Plattformen von Drittanbietern synchronisiert. Das bedeutet, dass die Daten des Mitglieds zu den Mailing- oder Kampagnenlisten hinzugefügt werden, die mit diesen Lösungen von Drittanbietern verwendet werden.
Im Gegenteil, alle Ihre Mitglieder haben ihre Kontodaten in ihren WordPress-Benutzerprofilen gespeichert. Wenn also Benutzer ihre Kontodaten (z. B. die E-Mail-Adresse) aktualisieren, wird dies keine MemberPress-Integration auslösen. Daher werden Ihre Mailing- und Kampagnenlisten weiterhin die bei der Registrierung erfassten Daten des Nutzers verwenden und nicht die neuen Daten.
Darüber hinaus benachrichtigt WordPress Ihre Administratoren nicht, wenn Benutzer ihre Profildaten aktualisieren.
Der Workaround in diesem Dokument ändert die Funktionsweise von WordPress und ermöglicht es dem Administrator, Benachrichtigungen zu erhalten, wenn Benutzer ihre Profildaten ändern. Diese E-Mail-Benachrichtigung wird an die Hauptadmin-E-Mail-Adresse gesendet, die Sie für Ihre Website festgelegt haben.
Anwendung des Workarounds
Diese Abhilfe beinhaltet zwei Codeschnipsel. Ein Codeschnipsel wird Benachrichtigungen senden wenn Benutzer ihre Standard-WordPress-Benutzerprofildaten ändern. Das zweite Codeschnipsel sendet Benachrichtigungen wenn Nutzer ihre Daten auf der MemberPress-Kontoseite ändern.
Sie können die Umgehung auf zwei Arten anwenden:
- Das Hinzufügen des Codeschnipsels aus der WPCode-Bibliothek (WPCode Pro ist hierfür erforderlich)
- Manuelles Hinzufügen des Codeschnipsels.
Code-Schnipsel mit WPCode-Plugin hinzufügen
Das Hinzufügen von Code-Snippets mit dem WPCode-Plugin erfordert keine Programmierkenntnisse.
Wenn Sie die WPCode Prokönnen Sie die folgenden Codeschnipsel einfach importieren:
Hier sollten Sie zunächst Ihre Website mit der WPCode Library verbinden.

Wenn Sie die kostenlose Version des WPCode-Plugins haben, können Sie die PHP-Codefragmente manuell hinzufügen unten erklärt.
Manuelles Hinzufügen von Codefragmenten
Die erster Codeschnipsel benachrichtigt den Administrator, wenn Benutzer Daten in ihrem WordPress-Benutzerprofil ändern.
function user_profile_update($user_id) {
$site_url = get_bloginfo('wpurl');
$user_info = get_userdata($user_id);
$user_name = $user_info->display_name; //Abrufen des vollständigen Namens des Benutzers
$user_email = $user_info->user_email; //Abrufen der E-Mail-Adresse des Benutzers
$subject = "Profil aktualisiert: ".$site_url."";
$message = "Das Profil von $user_name , $user_email wurde aktualisiert!"; //Anzeigen der abgerufenen Benutzerdaten in der Nachricht
wp_mail(get_bloginfo('admin_email'), $subject, $message);
}
add_action('profile_update', 'user_profile_update');
Sie können den Codeschnipsel manuell hinzufügen, indem Sie den kostenloses WPCode-Plugin. Navigieren Sie hier zu Dashboard > Code Snippets > Snippet hinzufügen, erstellen Sie ein benutzerdefiniertes PHP-Snippet und fügen Sie den Code hinzu.

Alternativ können Sie auch Fügen Sie den Code in die Datei functions.php für Ihr Child-Theme.
Der obige Code funktioniert, wenn das Standard-WordPress-Benutzerprofil aktualisiert wird, aber er gilt nicht für die MemberPress-spezifischen Daten. Um also auch dann Benachrichtigungen auszulösen, wenn Benutzer Daten über ihre MemberPress-Kontoseite ändern, muss die zweiter Codeschnipsel erforderlich ist:
function user_profile_update($user) {
$site_url = get_bloginfo('wpurl');
$user_info = get_userdata($user->ID);
$user_name = $user_info->display_name; //Abrufen des vollständigen Namens des Benutzers
$user_email = $user_info->user_email; //Abrufen der E-Mail-Adresse des Benutzers
$subject = "Profil aktualisiert: ".$site_url."";
$message = "Das Profil von $user_name , $user_email wurde aktualisiert!"; //Anzeigen der abgerufenen Benutzerdaten in der Nachricht
wp_mail(get_option('admin_email'), $subject, $message);
}
add_action('mepr-save-account', 'user_profile_update');
Ändern von Codeschnipseln
Beide Codeschnipsel haben eine ähnliche Struktur und können auf die gleiche Weise geändert werden. Aber auch wenn die Änderungen gleich sind, müssen Sie sie zu jedem Codefragment separat hinzufügen.
Im obigen Beispielcode rufen die folgenden Zeilen bestimmte Benutzerdaten ab und erstellen die Argumente zur Anzeige dieser Daten:
1TP16Benutzername = 1TP16Benutzer_info->Anzeigename;
$user_email = $user_info->user_email;
Diese Argumente werden der Nachricht innerhalb des Codes hinzugefügt, um die abgerufenen Benutzerdaten im E-Mail-Text anzuzeigen:
$message = "Das Profil von $user_name , $user_email wurde aktualisiert!";
Darüber hinaus können Sie dieser Logik folgend weitere Argumente hinzufügen und die Nachricht, die Sie erhalten möchten, aktualisieren.
Darüber hinaus kann der Code so geändert werden, dass diese Benachrichtigung an eine benutzerdefinierte E-Mail-Adresse gesendet wird. Zu diesem Zweck muss der Code in der folgenden Zeile aktualisiert werden:
wp_mail( get_bloginfo('admin_email'), $subject, $message);
Hier können Sie den Teil get_bloginfo('admin_email') des Codes durch die benutzerdefinierte E-Mail ersetzen. Zum Beispiel, um die admin@your-domain.com E-Mail-Adresse, sollte die genannte Codezeile wie folgt aussehen:
wp_mail( 'admin@your-domain.com', $subject, $message);