Sidebar
ein-/ausblenden

WordPress und Sessions

Plugin für WordPress SEO

Anzeige

WP Adventskalender 23
Man meint, dass WordPress die Nutzung von Sessions nicht unterstützt; immer wieder kommt es zu Fehlern, wenn man wie in PHP bekannt, einfach diverse Sessions initialisiert und nicht selten sucht man sich irre nach dem Problem.
Aber manchmal ist es leichter als es ausschaut, denn man kann einfach via Funktion die Session initialisieren. Achte darauf, dass die Initialisierung möglichst am Anfang der Datei ist.


<?php
if ( !session_id() )
	session_start();

Ich nutze öfter noch eine kleine Erweitung und habe daher eine eigene Funktion dafür.


<?php
if ( !session_id() )
	my_start_session();

function my_start_session() {

	@session_cache_limiter('private, must-revalidate'); //private_no_expire
	@session_cache_expire(0);
	@session_start();
}

4 Kommentare zu „WordPress und Sessions“

  1. 1
    Kommentar von Chris

    Danke für den Hinweis. Das hat mir sehr geholfen.

  2. 2
    Kommentar von Torsten

    Das gilt aber nicht mehr für die 3.1 Version, oder?
    Hatte mir da ein kleines Plugin gebastelt - unter der 3.05 lief es problemlos aber mit der 3.1 bekomme ich Fehlermeldungen (Warning: Cannot modify header information - headers already sent by (output started at xxxxxx/themes/twentyten/header.php:12) ).

    Torsten

  3. 3
    Kommentar von Dude

    WordPress zerstört Globale Variablen, darunter auch Session Inhalte. Dies pasiert vor der Template initialiesierung. Wenn ihr diesen Code:

    function my_init_session()
    {
    session_start();
    }
    add_action('init', 'my_init_session', 1);

    in die functions.php setzt, wird die Session gestartet nachdem WordPress sie zerstören würde und bevor das Template "erstellt" wird.

    (Die 1 legt die Priorität hoch)

    MfG Dude

  4. 4
    Kommentar von Dude

    P.S. in die functions.php eures Templates. Nicht die vom WordPress Core

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.