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

问题描述 投票:0回答:1

我的代码如下:

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时会出现错误(已经发送了一些标题)。另一个问题是如何在需要时添加新的cookie k-v(不是初始点)

谢谢你的任何建议!

wordpress plugins setcookie
1个回答
0
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.