设置cookie(如果不存在),更新/覆盖(如果PHP中存在)

时间:2019-01-24 09:25:43

标签: php wordpress cookies

我想存储访问者访问过的Blog的数据。我将在“最近访问的博客”部分中向他们展示。 对于此功能,我当然必须使用Cookies。

所以我想检查cookie是否存在, 如果不存在,则应使用当前页面ID的值创建一个新的cookie。 如果存在,则应将我当前页面的ID添加到Cookie中的字符串中。

下面是我的代码不起作用。 PS:我通过评论提到了一些事情

global $wp_query; //Its global variable in Wordpress

if(!isset($_COOKIE['recent_posts'])) {

    $cookie_value = $wp_query->post->ID; //this returns current page's ID

    setcookie('recent_posts', $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

    $_COOKIE['recent_posts'] = $cookie_value;

    echo $_COOKIE['recent_posts'];
} 
else {

    $previous_cookie = $_COOKIE['recent_posts'];

    $current_cookie = $previous_cookie.','.$wp_query->post->ID;

    setcookie('recent_posts', $current_cookie, time() + (86400 * 30), "/"); // 86400 = 1 day
}

1 个答案:

答案 0 :(得分:1)

请在get_header之前使用cookie或在init action wordpress中使用它。