wordpress中插件setcookie()的正确方法是什么?

时间:2017-12-26 10:20:24

标签: wordpress plugins setcookie

我这样编码:

public function register() {
    add_action('init', array($this, 'cookie_init'));
}
private function cookie_init() {
    if (!isset($_COOKIE['test_key'])) {
        setcookie('test_key', 'test_value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN);
    }
}

有效。但是,我想在其他地方更新值。调用setcookie时会出现错误(已经发送了一些标题)。另一个问题是如何在需要时添加新的k-v(不是初始点)

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

您应该更多地考虑您的代码。 您可以创建这样的函数:

function setMyCookie($key, $value) {
    if (!isset($_COOKIE[$key])) {
        setcookie($key, $value, time() + 3600, COOKIEPATH, COOKIE_DOMAIN);
    }
}

此功能不需要在WordPress类引擎中。

您可以将该功能创建为静态成员,以便随时随地调用它。

PS:我不是Wordpress专家,但这似乎不是一个Wordpress问题,而是一个PHP开发风格问题。