it-swarm.com.de

Aktivieren von Sitzungen in WordPress 3.0

Ich verwende einen wfcart in meiner WordPress-Site, aber aus irgendeinem Grund löscht WordPress auf bestimmten Seiten die Sitzung. Ich frage mich, ob es eine Möglichkeit gibt, Sitzungen in WordPress 3 zu aktivieren.

4
user1327

Wenn Sie die Sitzung manuell global aktivieren müssen, verwenden Sie dies in Ihrer functions.php (ich habe eine Zeile zum manuellen Festlegen einer Sitzungsvariablen als Beispiel eingefügt, nicht erforderlich):

add_action('init', 'session_manager');
function session_manager() {
    if (!session_id()) {
        session_start();
    }
    $_SESSION['foo'] = 'bar';
}

und wenn Sie die Sitzung für ein Ereignis manuell löschen möchten (z. B. Abmelden):

add_action('wp_logout', 'session_logout');
function session_logout() {
        session_destroy();
}
4
somatic

Beachten Sie als Ergänzung zu Somatics Antwort, dass Sitzungen verhindern können, dass Sie skalieren, wenn Sie falsch konfiguriert sind.

Wenn sich Ihre Site über mehrere Server erstreckt, müssen Sie einen der integrierten Memcached Save-Handler von pecl oder einen SQL-basierten Sitzungshandler verwenden. Und wenn Sie sich für einen in PHP geschriebenen SQL-Handler entscheiden, achten Sie darauf, dass Sie Zeilensperrung verwenden, wenn Ihre App Ajax enthält.

Wenn Sie dies nicht tun und sich an den Dateisystem-Handler halten, verlieren Sie möglicherweise Sitzungen, je nachdem, welcher Server von den Endbenutzern betroffen ist.

1