为什么我的Cookie在注销时没有取消设置?

时间:2012-04-10 作者:Dave

if (is_user_logged_in()){
    if(!isset($_COOKIE[\'alertuser\'])){
        // set cookie
        $timer = time()+86400;
        setcookie(\'alertuser\', \'1\' $timer);

        // show alert
        function load_alert(){
            wp_register_script(\'alert\', get_template_directory_uri() . \'/js/alert.js\', array( \'jquery\' ));
            wp_enqueue_script( \'alert\');
        }
        add_action(\'admin_enqueue_scripts\', \'load_alert\');

    }
} else {
        $timer = time()-86400;
        setcookie(\'alertuser\', \'\', $timer); // <-problem here
}
我试图仅在客户首次登录时附加js文件。注销后,cookie应该被删除,但不是。为什么?

(这可能更像是一个特定于WP的php问题,如果是,很抱歉在这里发布。)

1 个回复
SO网友:Dave

看起来我需要为我的cookie添加一条路径。这解决了它:

$timer = time()+86400;
setcookie(\'alertuser\', \'1\', $timer, \'/\');
以及

$timer = time()-86400;
setcookie(\'alertuser\', \'\', $timer, \'/\');

结束