/**
* 对于来了很多次也不评论的家伙提醒
* 创建一个cookie用来计数
* 结合ajax评论函数,评论后将计算器设置为-5
* 这样评论后可以有个较长的缓和期
* @since 2.0.1
* @see welcome_msg, setcookie_for_alert_commentator
* 修改了cookies的写入方法,这里只读取cookies
*/
function alert_commentator($msg){
global $user_ID;
//管理员是个例外.不能对管理员推送!
if($user_ID){
return;//just return null;
}
if(!isset($_COOKIE['comment_author_visit_times_'.COOKIEHASH]))
return;//
//当次数>=6次时 推送提示
//由于在init上写入cookie所以实际上要等cookie累加到7是才显示提示!
if(((int)$_COOKIE['comment_author_visit_times_'.COOKIEHASH])>=6){
if($comment_author = $_COOKIE['comment_author_'.COOKIEHASH])
$msg = '嗨~, '.$comment_author.' 我发现你来了很多次也没有留言! 欢迎发表你的看法.';
else
$msg = '新朋友? 老朋友? 我看你来了很多次却没有留言.欢迎发表你的看法.';
}else{
return;//
}
return $msg;
}
add_filter('welcome_msg','alert_commentator');
/**
* 给访客设置一个计算器
*
* 作用:
* 不过访客一直浏览,不留言计数器工作
* 留言后将计数器归为-5
*
* @since 2.0.2
*/
function setcookie_for_alert_commentator(){
if(is_bot())
return;
global $user_ID;
if($user_ID)
return;
//如果没有计数器,写入
if(!isset($_COOKIE['comment_author_visit_times_'.COOKIEHASH])){
setcookie('comment_author_visit_times_'. COOKIEHASH, 1, time() + (60*60*24*300), COOKIEPATH, COOKIE_DOMAIN);
}else{
$visit_times = (int)$_COOKIE['comment_author_visit_times_'.COOKIEHASH];
setcookie('comment_author_visit_times_'. COOKIEHASH, ++$visit_times, time() + (60*60*24*300), COOKIEPATH, COOKIE_DOMAIN);
}
//当次数大于7时 停止推送 因为连续推送了2次了
if(((int)$_COOKIE['comment_author_visit_times_'.COOKIEHASH])>=7){
//设置为0 重来
setcookie('comment_author_visit_times_'. COOKIEHASH, -2, time() + (60*60*24*300), COOKIEPATH, COOKIE_DOMAIN);
}
}
add_action('init', 'setcookie_for_alert_commentator');
/**
* 针对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);