Einleitung
In diesem Tutorial lernst du, wie du in WordPress mit Elementor eine eigene Anmeldeseite erstellst, die folgende Anforderungen erfüllt:
Verhindern, dass unangemeldete Besucher die Seite sehen können.
Nach Abmeldung zur eigenen Anmeldeseite weiterleiten.
Fehler abfangen und bei falschen Anmeldedaten eine Meldung auf der Anmeldeseite anzeigen.
Voraussetzung
- Grundkenntnisse in PHP und WordPress
- Elementor (Pro) für die Erstellung der Anmeldeseite
- Zugang zu deinem WordPress-Theme oder einem Child-Theme
Teil 1
Anmeldeseite mit Elementor erstellen
Schritt 1:Neue Seite erstellen
- Gehe zu Seiten > Erstellen im WordPress-Adminbereich.
- Gib der Seite einen Namen, z.B. Anmelden.
- Wähle unter Seiten-Attributen die Vorlage: Elementor Canvas aus.
Schritt 2: Anmeldeformular mit Elementor erstellen
- Klicke auf Mit Elementor bearbeiten.
- Ziehe das Login Widget von Elementor auf die Seite.
- Stelle im Widget sicher, dass folgende Einstellungen gesetzt sind:
- Weiterleitung nach Anmeldung: URL deiner Startseite (z.B.
/startseite/
) - Weiterleitung nach Abmeldung: URL deiner Anmeldeseite (z.B.
/anmelden/
)
- Weiterleitung nach Anmeldung: URL deiner Startseite (z.B.
- Optional: Füge ein HTML-Widget hinzu, um die Fehlermeldung anzuzeigen.
- Gib dem HTML-Widget die ID
meldung
. - Inhalt des HTML-Widgets:
- Gib dem HTML-Widget die ID
Fehler: Falsche Anmeldedaten. Bitte überprüfe Benutzername und Passwort.
Teil 2
PHP-Funktionen in der functions.php
Öffne die Datei functions.php deines aktiven Themes.
1. Unangemeldete Besucher weiterleiten
function redirect_if_not_logged_in() {
if (!is_user_logged_in() && !is_admin() && !is_page('anmelden')) {
$login_url = site_url('/anmelden/');
wp_redirect($login_url);
exit;
}
}
add_action('template_redirect', 'redirect_if_not_logged_in');
2. Nach dem Logout zur Anmeldeseite weiterleiten
function redirect_after_logout() {
$login_url = site_url('/anmelden/');
wp_redirect($login_url);
exit;
}
add_action('wp_logout', 'redirect_after_logout');
3. Fehlermeldung bei falschen Anmeldedaten
function custom_login_failed_redirect($username) {
$login_url = site_url('/anmelden/');
wp_redirect($login_url . '?login=failed');
exit;
}
add_action('wp_login_failed', 'custom_login_failed_redirect');
4. Fehleranzeige im Anmelde-Widget
function show_login_error_script() {
if (isset($_GET['login']) && $_GET['login'] === 'failed') {
?>
Teil 3: Testen der Anmeldeseite
Besuche die URL deiner Anmeldeseite (z.B.
/anmelden/
).Melde dich mit korrekten Anmeldedaten an und prüfe die Weiterleitung zur Startseite.
Melde dich ab und prüfe, ob du zurück zur Anmeldeseite gelangst.
Gib falsche Anmeldedaten ein und überprüfe die Fehlermeldung.
Fazit
Mit dieser Lösung kannst du sicherstellen, dass deine eigene Anmeldeseite für unangemeldete Benutzer die einzige Möglichkeit zum Zugriff bietet. Bei fehlerhaften Anmeldeversuchen wird der Benutzer ebenfalls zur eigenen Seite geleitet und erhält eine verständliche Fehlermeldung. So bleibt die Benutzerführung konsistent und professionell.