很早就有在wordpress留言框隐藏以前评论过的访客信息的方法,据说可以提高用户体验,不过空着也是浪费地方,我在philna在那里看到他家的主题会提示访客30天内评论了多少次,觉得很好。这样会提高访客评论的积极性,跟排行榜有类似的效果。另外,对于那些曾经留言过,但长时间潜水或好久没来的访客,提示“您好久没留言了”,催促留言 ^_^ ……
这就是相关的代码:
<?php //copy下面的代码到主题function.php里调用 /** * welcome message * @param unknown_type $email * @return void|string */ function WelcomeCommentAuthorBack($email = ''){ if(empty($email)){ return; } global $wpdb; $past_30days = gmdate('Y-m-d H:i:s',((time()-(24*60*60*30))+(get_option('gmt_offset')*3600))); $sql = "SELECT count(comment_author_email) AS times FROM $wpdb->comments WHERE comment_approved = '1' AND comment_author_email = '$email' AND comment_date >= '$past_30days'"; $times = $wpdb->get_results($sql); $times = ($times[0]->times) ? $times[0]->times : 0; $message = $times ? sprintf(__('过去30天内您评论了<strong>%1$s</strong>次,感谢关注~' ), $times) : '您很久都没有留言了,这次想说点什么吗?'; return $message; }
使用方法:在comments.php合适的地方,比如留言框上面调用这个函数:
<?php echo WelcomeCommentAuthorBack($comment_author_email); ?>
友情提示,我的主题公告栏也会变化的,不信连续刷新几次看看。。。
我来试试
你好,我试了你的方法,在IE6是正常的,可是在firefox里却看不到效果,你觉得会是怎么回事呢?
@david
既然IE都正常,那应该没啥问题,你刷新下缓存,用firebug看看源码
@winy ,
杯具的是现在连IE都显示不出来了。晕哦。
这个不错,不过似乎教程对新人估计看不明白
@未扬清
这个是推荐有一定基础的自己折腾玩儿~
追来了,回去折腾一下。
我拿去用用,谢了
很厉害。遇到高手。用上了~
@Kaysnoopy
好用就好
来学习折腾~~~