很早就有在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); ?>
友情提示,我的主题公告栏也会变化的,不信连续刷新几次看看。。。
不错,谢谢了~~~
还是习惯用word
你的代码中是不是少了一个“?>” PHP的结束符啊?
尝试中。