很早就有在wordpress留言框隐藏以前评论过的访客信息的方法,据说可以提高用户体验,不过空着也是浪费地方,我在philna在那里看到他家的主题会提示访客30天内评论了多少次,觉得很好。这样会提高访客评论的积极性,跟排行榜有类似的效果。另外,对于那些曾经留言过,但长时间潜水或好久没来的访客,提示“您好久没留言了”,催促留言 ^_^ ……

2

这就是相关的代码:

<?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); ?>
友情提示,我的主题公告栏也会变化的,不信连续刷新几次看看。。。

换个背景