PHP删除以wp_postpass_开头的cookie

时间:2015-10-06 07:59:18

标签: php wordpress cookies

我需要为Wordpress函数编写一些自定义代码,我需要能够删除任何以wp-postpass_开头的cookie。我知道这可以用jQuery完成,但我不确定如何在PHP中处理它。

我在这里尝试过谷歌搜索和搜索,但我找不到任何符合我想要的东西。

提前谢谢你, 安迪

修改 抱歉,我应该提到Wordpress会在wp-postpass_的末尾附加一个随机字符串,因此我需要找到以<{1}}开始的任何Cookie。道歉,清晨。

2 个答案:

答案 0 :(得分:2)

因此,遍历所有Cookie并检查是否包含wp_postpass_,然后删除Cookie。

foreach($_COOKIE as $cookieKey => $cookieValue) {
    if(strpos($cookieKey,'wp-postpass_') === 0) {
        // remove the cookie
        setcookie($cookieKey, null, -1);
        unset($_COOKIE[$cookieKey]);
    }
}

答案 1 :(得分:1)

If you have access to the $_COOKIE superglobal just do

$past = time() - 86400;
foreach($_COOKIE as $name => $value) {
    if(strpos($name, 'wp-postpass_') === 0) {
        setcookie($name, '', $past);
        unset($_COOKIE[$name]);
    }
}