Wer private und geschützte Beiträge  oder Seiten nur bestimmten Usern zugänglich machen möchte, bedient sich eines Passwortschutzes. Diese Vorgehensweise hat allerdings einen kleinen Nachteil: Wenn der User nach dem Einloggen nicht den Logout-Button betätigt – sofern einer da ist – oder der gespeicherte Cookie anderweitig gelöscht wird, kann der Inhalt ohne weiteres erneut aufgerufen werden. Von WordPress vergebene Cookies halten sehr lange und es wäre natürlich gut, wenn diese Cookies direkt wieder automatisch gelöscht werden.

Ein einfaches PHP-Script am Ende der functions.php des jeweiligen Themes eingefügt, kann helfen:

add_action( ‘wp’, ‘post_pw_sess_expire’ );
function post_pw_sess_expire() {
if ( isset( $_COOKIE[‘wp-postpass_’ . COOKIEHASH] ) )
// Setting a time of 0 in setcookie() forces the cookie to expire with the session
setcookie(‘wp-postpass_’ . COOKIEHASH, ”, 0, COOKIEPATH);
}

In der vorletzten Zeile wird der Cookiehash nach 0 Sekunden gelöscht, d.h. direkt nach der Eingabe des Passwortes läuft die Session ab!