cookie是网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据。我们可以根据本地存储的cookie,实现判断用户是否访问过我们的网站的功能,这里说一下WordPress评论者的cookie。
当访客在WordPress参与留言评论时,会被要求填入昵称、邮箱等信息。成功评论后WordPress会在用户本地缓存一个评论者的cookie,我们可以利用这个cookie减少用户输入信息的次数,下面说说怎么使用这个评论者cookie。
判断是否存在评论者cookie
服务器端使用
<?php echo urldecode($comment_author); ?>
方法判断近期评论者是否存在,存在则说明该用户本地存在评论者cookie。这里之所以要对$comment_author进行url解码,是为了避免某些特殊情况下会出现中文乱码问题,当然,不使用这个方法输出的结果是一样的。
注意:这个方法必须放在评论模板加载之前(实测放在评论模板里也是可以的),否则将失去效果。
评论者cookie详解
WordPress的评论者cookie如下图样式
很明显可以看出,存在三个cookie,它们分别以键值对的形式存在。它们分别是评论者昵称、评论者邮箱、评论者网址。这个很清楚很明了,但是它后面带的那串字符是什么意思呢?它其实是你网站地址的md5值,由此我们就可以构建出cookie的name即键的内容了。构建出键名,就可以取得对应的值是多少。
cookie的操作方法请看:JavaScript操作cookie方法增删改查
注意:如果你的js取出的中文数据出现乱码,那么你的后台可能是PHP,据查这个情况是因为PHP的setcookie方法使用了urlencode编码,js需使用decodeURIComponent进行解码。请参考JavaScript操作cookie方法增删改查一文中对cookie的操作方法。
评论 (3)