以下代码的实现效果:
1、留言的访客显示欢迎词
2、一般访客来源提示
3、不留言潜水党(刷新大于7次,催促留言)
4、针对IE的推送更新提示
使用方法:调用相应的函数,例如welcome_msg()。
复制代码 代码如下:
<?php
/**
* 欢迎词
* 以前的欢迎词在右上角提示.
* 实现原理:
* 通过$_SERVER['HTTP_REFERER']判断来路
* 通过$_SERVER["HTTP_USER_AGENT"]判断用户使用的浏览器
* 通过$_COOKIE["comment_author_" . COOKIEHASH]判断为评论者
*
*/
function welcome_msg(){
if($m = apply_filters('welcome_msg',$string)){
echo $m;
return;
}
global $referer;
$referer=$_SERVER['HTTP_REFERER'];
$hostinfo=parse_url($referer);
$host_h=$hostinfo["host"];
$host_p=$hostinfo["path"];
$host=array($host_h,$host_p);
if(substr($host_h, 0, 4) == 'mentator');
/**
* 针对ie不同版本设置不同的cookie
*
* 为了后面的推送升级通知
*/
function setcookie_for_ie(){
if(isset($_COOKIE['alert_ie_visitor_'.COOKIEHASH]))
return;
if(preg_match('/MSIE\s6/i', $_SERVER['HTTP_USER_AGENT'])){
//对于使用古老版ie用频繁推送 (cookies 5分钟失效)
setcookie('alert_ie_visitor_'.COOKIEHASH,'ie6',time()+(20),COOKIEPATH,COOKIE_DOMAIN);
}elseif(preg_match('/MSIE\s7/i', $_SERVER['HTTP_USER_AGENT'])){
//对于使用ie7的用户减少推送 (cookies 3天失效)
setcookie('alert_ie_visitor_'.COOKIEHASH,'ie7',time()+(60*60*24*3),COOKIEPATH,COOKIE_DOMAIN);
}elseif(preg_match('/MSIE\s8/i', $_SERVER['HTTP_USER_AGENT'])){
//对于使用ie8的用尽量不要推送 (cookies 100天失效)
setcookie('alert_ie_visitor_'.COOKIEHASH,'ie8',time()+(60*60*24*10),COOKIEPATH,COOKIE_DOMAIN);
}
}
add_action('init', 'setcookie_for_ie');