Je souhaitais supprimer tous les cookies définis pour les publications protégées par mot de passe lorsque l'utilisateur se déconnectait du site après être passé par ces publications protégées par mot de passe.
Y at-il une fonction pour faire cela?
Le cookie post post est défini avec:
setcookie(
'wp-postpass_' . COOKIEHASH,
$hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ),
$expire,
COOKIEPATH,
COOKIE_DOMAIN,
$secure
);
dans le fichier wp-login.php
.
Nous pouvons ensuite utiliser le hook clear_auth_cookie
, dans la fonction wp_clear_auth_cookie()
, pour l’effacer à la déconnexion:
/**
* Clear the Post Password Cookie on logout.
*
* @link http://wordpress.stackexchange.com/a/198890/26350
*/
add_action( 'clear_auth_cookie', function()
{
setcookie(
'wp-postpass_' . COOKIEHASH,
'',
time() - YEAR_IN_SECONDS,
COOKIEPATH,
COOKIE_DOMAIN
);
});