2014-10-30 58 views
0

我嘗試設置使用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); 
    } 
} 

但是,如果我修改類THI S:

class.plugin.php

class Plugin { 

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

的cookie被設定。

回答

0

使用較早的鉤建立需要初始化上運行操作:

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

+0

謝謝!這工作。我很好奇爲什麼'嵌套'init鉤子不起作用。 – rocko 2014-10-30 18:53:09

+0

我懷疑它必須與優先級參數相同,看起來像這樣:'add_action('init',array('Plugin','init_hooks'),0);' – diggy 2014-10-30 18:56:55

+0

Yeap,你是對的。再次感謝你! – rocko 2014-10-30 20:27:49