WordPress高级教程之写入cookie记录访客行为
cookie在网站中的运用非正常重要,很多投票网站就是依靠cookie技术来防止用户重复投票。很多大网站也有利用cookie来记录用户上网行为以及习惯来改善网站,优化用户体验。今天梦飞扬给大家分享几个关于WordPress系统的Cookie技术代码小片段。
1、在主题文件functions.php中添加以下代码,以设置cookie:
function set_newuser_cookie() {
if (!isset($_COOKIE['i_cookie'])) {
setcookie('i_cookie', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);
}
}
add_action('after_setup_theme', 'set_newuser_cookie');
2、写入cookie值之后的读取与调用
if (isset($_COOKIE['i_cookie'])) {
echo '欢迎您再次访问本站!';
}
else {
echo '欢迎新访客';
}
这里有一点需要注意,在WordPress中,任何PHP时间函数,例如time()返回的时间不正确,这些时间函数返回的都是UTC+0时区的时间,如果你想获得你在WordPress后台–设置–常规中设置的时区时间,可以使用以下几个WordPress的时间函数:
date_i18n('Y-m-d h:i:s'); // 返回当地时间
current_time('timestamp'); // 返回当地时间的 Unix 时间戳
current_time('mysql'); // 返回适用于 MySQL 的时间格式
time() + get_option('gmt_offset') * 3600; // 手工获得当地时间的 Unix 时间戳
3、cookie的失效时间也是需要注意的一个问题,服务器端的时间和客户端的时间可能会不一样,所以会导致cookie失效时间可能跟你设想的不太一样,所以如果你通过以上方法发送了cookie,但是死活都获取不到值,那么你可以试试将cookie的失效时间设置长点。
WordPress中设置Cookies的方法就介绍到此,你可以通过以上代码举一反三。