【问题标题】:Cookie is Empty in Wordpress Add Action with PHPCookie 在 Wordpress 中为空使用 PHP 添加操作
【发布时间】:2011-04-14 04:03:23
【问题描述】:

我正在尝试在 Wordpress 操作中访问 c​​ookie。动作注册如下,它适用于静态数据。但是,当我尝试访问 cookie 时,我知道的 cookie 有效,因为我已经在页面上回显了它,但它始终是空的。此操作是否有权访问 $_COOKIE 对象?如果不行,我该怎么办?

add_action ('comment_post', array(&$cisco_rewards, 'add_comment_badge_id'), 1);

function add_comment_badge_id($comment_id) {

        add_comment_meta($comment_id, 'badge_id', $_COOKIE[Cisco_Rewards::REWARDS_COOKIE_NAME], true); // I put just a 2 here and it worked correctly, blank otherwise with the cookie.
    }

【问题讨论】:

    标签: php wordpress cookies action


    【解决方案1】:

    $_COOKIEsuperglobal variable,所以它在任何对象(或任何范围)内都可用,所以这不是问题。几个想法:

    您是否尝试在将$_COOKIE 传递给add_comment_meta() 之前打印它,以便检查键和值?喜欢:

    function add_comment_badge_id($comment_id)
    {
        exit(print_r($_COOKIE));
        add_comment_meta($comment_id, 'badge_id', $_COOKIE[Cisco_Rewards::REWARDS_COOKIE_NAME], true);
    }
    

    检查您的setting the cookie 是否与您进行测试的域名相同。也许您正在使用 www.domain.com 进行设置,并且正在使用 http://domain.com 访问该页面?

    还要注意,您在请求中设置了 cookie,并且它在下一个请求中可用(see this brief but well explained answer 在 SO 中)。

    【讨论】:

    • 是的,cookie 甚至都没有。不知道 php 中的 EXIT(此处为 .NET 开发人员)。主要问题是没有在 cookie 上设置 path=/ 并将其放在 javascript 中。
    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 2018-04-21
    • 1970-01-01
    相关资源
    最近更新 更多