Suche
11 Feb 2013

Der heutige Beitrag handelt davon, wie man bestimmte Fehlermeldungen des Logins von WordPress ganz leicht abfangen kann.
Wenn man eine WordPress Seite erstellt, kommt meistens die Frage auf „Wohin mit dem Login Bereich?“, soll man diesen auf das Frontend übertragen, oder einfach über die Standard URL http://example.com/wp-admin/ aufrufbar lassen. Die meisten entscheiden sich für die Übertragung auf das Frontend, da man dort besser die Möglichkeit hat diesen Bereich nach seinen Wünschen anzupassen.

Leider kommt es danach immer wieder vor, dass viele Benutzer, Redakteure und Administratoren unabsichtlich falsche Daten zum Einloggen benutzen. Das standardmäßige verhalten von WordPress ist es den jeweiligen Fehler auf seinem Standardtemplate auszugeben und somit wird der Benutzer direkt auf die „/wp-login.php/?…“ weitergeleitet business collaboration software. Das ist in den meisten Fällen sehr unschön und nicht von jedem gewollt.
Dafür gibt es eine einfache Lösung, bevor das Ergebnis der WordPress Funktion an uns zurückgegeben wird, haken wir uns per Hook in die Funktion ein, und bestimmen selbst die Variable die zurückgegeben wird.

[code lang=“php“ htmlscript=“true“]get_error_code()) return $redir1;

switch($wperr_user->get_error_code()){
case ‚incorrect_password‘:
case ‚empty_password‘:
case ‚invalid_username‘:
default:
// Die Seite oder Datei auf die weitergeleitet werden soll
wp_redirect(‚/login‘);
}
return $redir1;
}
?>[/code]

Das normale Verhalten von WordPress besteht darin, die durch das Formular übergebenen Daten mit den Daten in der Datenbank abzugleichen, gibt es keine Übereinstimmung oder sind die Pflichtfelder leer übermittelt worden, gibt WordPress einen Fehler aus. Diese Funktion „hakt“ sich nun an der Stelle ein, wenn WordPress seinen Fehlercode erzeugt. Hat WordPress einen Fehler in den POST-Daten entdeckt bestimmen wir nun was passieren soll. Je nach Fehlertyp, in diesem Beispiel sind es 3 verschiedene:

  • Ein falsches Passwort für den Benutzer
  • Es wurde kein Passwort übermittelt
  • Der Benutzername ist nicht existent

Im Defaultzweig unserer Switch-Funktion geben wir nun an was standardmäßig passieren soll.

Autor

neosmart GmbH

Das Team von neosmart berichtet im Blog über aktuelle Projekte und Neuigkeiten aus den Bereichen Webdesign, Webentwicklung und Social Media.