无法在init钩子上设置cookie

时间:2014-10-30 18:03:37

标签: wordpress cookies hook

尝试使用init钩子设置cookie时我遇到了一个奇怪的问题(我必须说我是WP的新手)

这是不起作用的代码:

plugin.php文件:

...
require_once( PLUGIN_DIR . 'class.plugin.php' );
add_action( 'init', array( 'Plugin', 'init_hooks' ) );
...

class.plugin.php文件:

class Plugin {

    private static function init_hooks() {
        ...
        add_action('init',array('Plugin','setCookieAction'));
        ...
    }
    public static function setCookieAction(){
        setcookie('mycookie', $_GET['myCookie'], time() + 3600, COOKIEPATH, COOKIE_DOMAIN);
    }
}

但是,如果我将类修改为:

class.plugin.php

class Plugin {

    private static function init_hooks() {
        ...
        setcookie('mycookie', $_GET['myCookie'], time() + 3600, COOKIEPATH, COOKIE_DOMAIN);
        ...
    }
}

正在设置Cookie。

1 个答案:

答案 0 :(得分:0)

使用较早的挂钩来设置需要在init上运行的操作:

add_action( 'plugins_loaded', array( 'Plugin', 'init_hooks' ) );