【问题标题】:what's the right way of a plugin setcookie() in wordpress?wordpress 中插件 setcookie() 的正确方法是什么?
【发布时间】:2017-12-26 10:20:24
【问题描述】:

我的代码是这样的:

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】:

    您可能应该更多地分解您的代码。 你可以像这样创建一个函数:

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

    此函数不需要在 WordPress 类引擎中。

    您可以将该函数创建为静态成员,以便您可以在任何地方调用它。

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

    【讨论】:

    • 我认为这既不是 Wordpress 问题也不是 PHP 开发风格问题,我上面列出的代码只是一个示例。 Wp 有自己的风格,开发人员应该遵循它来管理自定义 cookie,但我没有。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 2019-10-28
    • 2014-05-31
    相关资源
    最近更新 更多