Eigenes Plugin - Registierung und Login in einem Durchlauf

  • Hallo Zusammen,

    ich habe mich die letzten Tage mit der Programmierung eines WordPress Plugins beschäftigt und bin nun auf ein Problem gestoßen.

    Ich lasse den Nutzer ein angepasstes Registrierungsformular ausfüllen und lege dann einen neuen Nutzer mit wp_create_user() an. In Verbindung mit der UserID lege ich nun in einer eigenen Datenbanktabelle weitere Informationen zum User an. Soweit so gut, nun zum Problem...

    Nachdem die Daten vom Nutzer erfolgreich eingegeben, verifiziert und in der DB abgelegt wurden möchte ich nun den Nutzer für den weiteren Ablauf einloggen. Nur leider funktioniert das nicht so einfach wie gedacht, da die Funktion wp_signon() grundsätzlich vor dem init geladen werden müsste. Der Nutzer ist daher erst eingeloggt, wenn er die Seite einmal aktualisiert, was natürlich sehr unschön ist.

    Gibt es hier irgendeine Möglichkeit durch WordPress Boardmittel oder jQuery den Login automatisiert vorzunehmen? Ggf. durch das automatisierte Neuladen der Seite?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Nur leider funktioniert das nicht so einfach wie gedacht, da die Funktion wp_signon() grundsätzlich vor dem init geladen werden müsste.

    Warum "erledigst" du dann nicht alles davor? Und woher kommt die Info mit dem Init? Laut Codex musst du wp_signon() aufrufen, bevor das cookie gesetzt wird. Aber du kannst doch deine gesamte Funktion davor abarbeiten, oder?

    Edit:
    Wenn du trotzdem die Variante mit dem refresh machen möchtest, könntest du wp_redirect() verwenden.

    Einmal editiert, zuletzt von danielgoehr (19. März 2018 um 21:07)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!