Wordpress Cookies und Sessions funktionieren nicht

  • Hallo Forum-User,

    ich erstelle gerade ein Wordpress-Plugin mit einem Loginbereich. Wenn der User sich eingeloggt hat,
    möchte ich gerne die Daten entweder in Sessions oder Cookies speichern.

    Das Problem ist aber, dass ich bei Sessions soviele definieren kann, wie ich möchte es werden keine gespeichert. Habe dafür schon
    viel gegoogelt und Codes wie:

    PHP
    if(!session_id())
    add_action( 'init', 'session_start' );

    eingebunden.

    Wenn ich Cookies erstelle und die Seite neulade sind diese nicht mehr definiert.
    Ich verwende [COLOR=#333333][FONT=sans-serif]WordPress 3.4.2.

    Ich hoffe ihr könnt mir helfen ;) Ich suche schon den ganzen Tag bei Google nach einer Lösung aber nichts bis jetzt gefunden.

    Gruß und danke euch im vorraus ![/FONT][/COLOR]

    • 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

  • Hallo,
    wenn Du ein Plugin entwickelst, hast Du keinen Einfluss auf die "wp-config" der jeweiligen Wordpress installation, wo Du Sessions aktivieren kannst. also musst Du einen kleinen Workaround machen und per hooks arbeiten:


    add_action('init', 'myStartSession', 1);

    Wichtig ist die '1'. Das steuert die Prioritaet wann dieser hook lauft. in diesem Fall VOR allen anderen.
    Und natuerlich musst Du die Session dann auch bei Bedarf wieder beenden:

    add_action('wp_logout', 'myEndSession'); add_action('wp_login', 'myEndSession'); function myStartSession() { if(!session_id()) { session_start(); } } function myEndSession() { session_destroy (); }

    Jetzt kannst Du mit der Session arbeiten:

    $_SESSION['firstKey'] = "Was ich spaeter brauche"; Und so bekommst Du spaeter Deinen Wert wieder:


    if(isset($_SESSION['firstKey'])) { $value = $_SESSION['firstKey']; } else { $value = ''; }


    Ich hoffe das hilft Dir weiter.

    Gruesse,
    Joe

Jetzt mitmachen!

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