Überblick
Diese Funktionalität ermöglicht die automatische Registrierung von Benutzern beim Kauf von Produkten in WooCommerce. Abhängig vom gekauften Produkt wird dem Benutzer eine spezifische Rolle zugewiesen. Zusätzlich wird die Rolle eines bestehenden Benutzers aktualisiert, wenn er das Premium-Produkt erwirbt.
Hauptfunktionen
- Automatische Benutzerregistrierung bei jedem Kauf
- Spezielle Rollenzuweisung für ein bestimmtes Produkt („Premium Abo“)
- Aktualisierung der Rolle eines bestehenden Benutzers beim Kauf des Premium-Produkts
- E-Mail-Benachrichtigung an neue Benutzer
- Weiterleitung zur „Mein Konto“-Seite nach der Registrierung
Technische Details
Hook
Die Hauptfunktion wird durch den woocommerce_thankyou
Hook ausgelöst.
Funktionen
register_user_and_update_role_after_purchase($order_id)
- Überprüft, ob der Benutzer bereits existiert
- Erstellt einen neuen Benutzer, wenn er nicht existiert
- Weist Rollen basierend auf dem gekauften Produkt zu
- Aktualisiert die Rolle eines bestehenden Benutzers, wenn er das Premium-Produkt erwirbt
- Sendet eine Willkommens-E-Mail
- Leitet zur „Mein Konto“-Seite weiter
Rollenzuweisung
- Standardrolle: ‚customer‘
- Spezielle Rolle für Produkt-ID 6534: ’subscriber‘ (Premium Abo)
E-Mail-Benachrichtigung
- Enthält Benutzernamen und Link zum Passwort zurücksetzen
- Verwendet ein angepasstes HTML-Template
Implementierungsdetails
Benutzererstellung
$user_id = wp_create_user($username, $password, $user_email);
Rollenzuweisung
$user = new WP_User($user_id);
$user->set_role($specific_product_purchased ? 'subscriber' : 'customer');
Rollenaktualisierung
if ($specific_product_purchased && $user->get_role() !== 'subscriber') {
$user->set_role('subscriber');
}
Weiterleitung
wp_safe_redirect(wc_get_page_permalink('myaccount'));
Wichtige Hinweise
- Das spezielle Produkt (Premium Abo) hat die ID 6534.
- Die Funktionalität setzt voraus, dass die Rollen ‚customer‘ und ’subscriber‘ in WordPress existieren.
- Die E-Mail-Vorlage kann angepasst werden, um das Branding und den Inhalt zu ändern.
- Die Weiterleitung erfolgt nur für neu registrierte oder ihre Rolle aktualisieren Benutzer.
Wartung und Fehlerbehebung
- Überprüfen Sie regelmäßig die WordPress-Fehlerprotokolle.
- Testen Sie den Prozess nach WordPress- oder WooCommerce-Updates.
- Bei Problemen mit der Rollenzuweisung, überprüfen Sie die WordPress-Rolleneinstellungen.
Zukünftige Verbesserungen
- Implementierung einer benutzerdefinierten Bestätigungsseite nach der Registrierung.
- Hinzufügen von Optionen zur Anpassung der E-Mail-Vorl