WPForms Login-Formular anpassen, um den „redirect_to“ Parameter zu berücksichtigen

WPForms ist ein beliebtes Plugin für WordPress, das das Erstellen von Formularen jeglicher Art zum Kinderspiel macht. Egal ob Kontaktformulare, Umfragen, komplexe Web-Kalkulatoren oder Anmeldeformulare – mit WPForms ist alles vor allem sicher umgesetzt. Allerdings gibt es eine kleine Hürde, wenn es um Login-Formulare geht, die mir neulich in einem Projekt kurz einen Knüppel zwischen die Beine geworfen hat: Standardmäßig ignoriert WPForms den „redirect_to“ GET-Parameter. Dies kann jedoch leicht behoben werden.

Der „redirect_to“ GET-Parameter ist besonders nützlich, wenn Sie möchten, dass sich Benutzer nach dem Login automatisch zu einer bestimmten Seite weiterleiten lassen. Zum Beispiel kann es sein, dass Sie Ihre Benutzer nach dem Login direkt zu einem Mitgliederbereich oder zu einer speziellen Willkommensseite mit Login-Formular führen möchten.

Beispiel

Der Parameter wird z.B. durch Plugin, wie Restrict User Access, mit dem Zugriffsrechte auf Inhalte gesteuert werden kann, gesetzt. Das passiert dann, wenn ein Benutzer eine Seite nicht ohne Login aufrufen darf und durch das Plugin auf die passende Login-Seite umgeleitet wird. Damit soll gewährleistet werden, dass der Benutzer direkt wieder zurück zur eigentlich gewünschten Seite geleitet wird und dann die geschützten Inhalte sehen kann.

WPForms unterstützt aber solche individuellen Umleitungen durch den Parameter redirect_to nicht.

Lösung des Problems

Glücklicherweise lässt sich dieses Verhalten mit einem kleinen Stück PHP-Code anpassen. Alles, was Sie tun müssen, ist eine Funktion in Ihre functions.php Datei oder in ein spezielles Plugin für Site-spezifischen Code einzufügen. Hier ist das Skript, das die Magie bewirkt:

/**
 * WPForms custom redirect.
 *
 * @param string $url URL form will redirect to
 * @param int $form_id Form ID
 * @param array $fields Submitted form fields
 * @return string
 */
function gw_wpf_custom_redirect( $url, $form_id, $fields ) {
	if(isset($_GET['redirect_to'])) {
		return $_GET['redirect_to'];
	}
	return $url;
}
add_filter( 'wpforms_process_redirect_url', 'gw_wpf_custom_redirect', 10, 3 );

Dieser Code überprüft, ob der „redirect_to“ GET-Parameter gesetzt ist. Wenn ja, wird der Benutzer nach dem Login zu der in „redirect_to“ angegebenen URL weitergeleitet. Wenn nicht, verhält sich das Login-Formular wie gewohnt.

Nachdem Sie diesen Schritt abgeschlossen haben, werden Ihre Login-Formulare den „redirect_to“ Parameter berücksichtigen, und Ihre Benutzer werden nach dem Login zur gewünschten Seite weitergeleitet.

WPForms ist ein mächtiges Werkzeug, und mit ein wenig Anpassung können Sie es perfekt auf Ihre Bedürfnisse zuschneiden. Dieses kleine Snippet ist ein perfektes Beispiel dafür, wie flexibel WordPress und seine Plugins wirklich sind.

Fertig zum Upgrade Ihres Formular-Erlebnisses?

Wenn Sie bis hierher gelesen haben, wissen Sie bereits, wie Sie mit WPForms den redirect_to Parameter in Ihren Login-Formularen nutzen können. Aber warum sollten Sie dabei Halt machen? Formulare sind das Einfallstor für Ihre Benutzerinteraktionen und das Aushängeschild Ihres Online-Auftritts.

Ich biete professionelle Unterstützung bei der Erstellung und Anpassung von WPForms Formularen an, einschließlich:

  • Kontaktformulare: Für einen nahtlosen Erstkontakt mit Interessenten.
  • Buchungsformulare: Ideal für Dienstleistungen, Veranstaltungen oder Ressourcenverwaltung.
  • Feedback-Formulare: zum Sammeln Sie wertvolle Einsichten von Ihren Kunden.
  • Komplexe Kalkulatoren: z.B. Kostenrechner für individuelle Dienstleistungen.
  • Zahlungs- und Bestellformulare: Integrieren Sie E-Commerce-Funktionalitäten direkt auf Ihrer Seite.
  • Anpassbare Umfragen: Erhalten Sie datengetriebene Antworten, die Ihnen helfen, bessere Entscheidungen zu treffen.

Klingt interessant? Klicken Sie unten, um mehr zu erfahren und nehmen Sie noch heute Kontakt auf, um Ihre Formularlösungen auf das nächste Level zu bringen!