我跟亲爱的炫耀说,你看我有篇文章有40多条评论,她说了一句很打击的话,这里一半多都是你自己的回复吧(囧)。话虽然很打击不过这却是事实。这样虚高的评论数很容易满足自己的虚荣心,但却给别人一种夸张的,不真实的感觉。那么我们有没有办法让我们的WordPress显示真实的评论数即把管理员自己的评论数排除在外呢?
答案是可以的。这个方法我也是无意中透过搜索引擎找到的,本来找的是另一内容的,却被歪打正着的找到了这个让我们的WordPress显示真实的评论数的方法。好,废话不多说,如果你有兴趣那就请继续往下看吧。
首先要感谢Shawn,从他的BLOG看,这应该是一位CSS高手来的。这个方法正是从他BLOG里的一篇老文章里找到的,算是他的原创方法吧。这里我就当一位传播和发扬者好了。嗯,我们进入正题。
其实这个方法的原理就是定义一个新的评论计算函数,然后把模板里的评论计算函数替换成新定义的函数。嗯,现在我们正式开始。
首先在你模板的function.php里面加入这么一段新函数,注意不要切断原来的函数就好了。
//real number of comments
function no_admin_number($no='', $one='', $twomore='') {
global $wpdb, $tablecomments, $post;
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND comment_type = '' AND comment_approved = '1' AND comment_author != '博主姓名'");
$cnt = count($comments);
if (!$cnt)
echo $no;
elseif ($cnt == 1)
echo $one;
else
echo str_replace("%", $cnt, $twomore);
}
注意把里面的“博主姓名”改成你的名字,然后保存。
然后把你的首页(index.php),评论页(comments.php),留言板页(如果有的话)里面原有的评论计数函数(大部分模板的都大同小异,比如我的是下面这个。)
<?php comments_number('目前还没有评论','目前有 1 条评论','目前有 % 条评论' );?>
替换成下面这个
<?php no_admin_number('目前还没有评论','目前有 1 条评论','目前有 % 条评论' );?>
基本上就好了,细节的部分自己修改一下哈。
最后提醒大家一点的就是,修改模板前切记备份!否则改错了,就……咳咳。还有我严重推荐先在本地修改测试(相信各位都在本地搭建了一个WP吧?),然后再上传到服务器端,确保万无一失。
嗯,第一次写这么技术流的文章,汗,实在不是我的风格。欢迎大家批评指正~~
2009.04.23 @ 22:58
我记得有插件来着的...
+Reply
简单修改模板就可以~插件不是说少用为妙么?
我一直怀疑大S那些关于Wordpress文章素改写的~
S本来就是个代码王……
@epile 是我自己研究的好不好...
@Slyar 为啥网上已经有那么多同类文章~你不Google一下呢?
我不写他们能同类么。。。
2009.04.23 @ 22:58
我留一个评论,看看算数不?
+Reply
2009.04.23 @ 23:08
哈哈~ 除个二就好了~ (*^__^*) 嘻嘻……
+Reply
有时候我回两条,有时候我回一条,有时候我不回~所以还是直接改了计算函数吧。这个……小卜你不用强调性别了……
我怕路过的人误会~~~
恩,你以后还是不要加那个括号了……这会影响活跃童鞋的统计哦,目前小卜遥遥领先中呢……
这样啊~ 那不加了
恩,乖。
Warning: copy(http://www.gravatar.com/avatar/13b8c63c66d33ea78fa6c83be40f1360?s=45&d=http://www.jutoy.net/wordpress/avatar/default.jpg&r=X) [function.copy]: failed to open stream: HTTP request failed! HTTP/1.1 404 File Not Found in /home/jutoy/domains/jutoy.net/public_html/wordpress/wp-content/themes/PinkBox/functions.php on line 48
2009.04.24 @ 11:02
我一向不在自己文章的评论下回复,有事还是到别人的网站上留言比较好,因为发到邮箱里人家没必收得到,而且太多人家也会烦...
+Reply
呵呵,嗯,如果不需要邮件通知可以取消嘛~我觉得在文章里面回复这样更有一种互动的感觉~
2009.04.24 @ 14:34
虚高就虚高吧,自己看得舒服,嘻嘻
+Reply
嗯,自己看着是挺舒服的…就是感觉怪怪的……
为啥怪吖?有童鞋留言就要有博主回复啊,这样才算是一起交流么,呵呵~
可能是以前用免费BSP的时候看习惯了自己的回复不算作一条评论的缘故吧~哈
Warning: copy(http://www.gravatar.com/avatar/571064f063b3858ea76aeed477d45d6d?s=45&d=http://www.jutoy.net/wordpress/avatar/default.jpg&r=X) [function.copy]: failed to open stream: HTTP request failed! HTTP/1.1 404 File Not Found in /home/jutoy/domains/jutoy.net/public_html/wordpress/wp-content/themes/PinkBox/functions.php on line 48
2009.04.24 @ 23:54
太学术了……
飘走
+Reply
这个呃……一般女生是不会感兴趣的…
2009.05.8 @ 17:52
谢谢了,WP原来的评论数函数只能echo不能return,参考了你的文章再自定义函数,搞定……
+Reply
嘿嘿不客气,方法不是我的原创,我只是消化了一下写点感想而已哈~
2009.06.10 @ 14:22
收藏之
+Reply
Warning: copy(http://www.gravatar.com/avatar/b723619acf8f52de78569e7dbb31c0ff?s=45&d=http://www.jutoy.net/wordpress/avatar/default.jpg&r=X) [function.copy]: failed to open stream: HTTP request failed! HTTP/1.1 404 File Not Found in /home/jutoy/domains/jutoy.net/public_html/wordpress/wp-content/themes/PinkBox/functions.php on line 48
2010.01.26 @ 16:36
I want to say - thank you for this!
+Reply
2010.08.17 @ 13:09
有没有显示评论楼数的插件呢?
+Reply
不需要插件呢
2010.08.19 @ 12:06
正碰上了ajax不刷新的问题,刚好用这代码就解决了- -,原来调用评论数的代码好像没写对。。
+Reply
嘿嘿~
2010.08.19 @ 15:43
看完留言才发现这是你的blog,囧……
继续爬走找代码……
+Reply
囧,你在找啥~
2010.08.24 @ 10:27
技术流,我喜欢
+Reply
2011.07.9 @ 10:13
很好用 谢谢啦
+Reply
2013.02.18 @ 04:40
这正是我需要的,多谢!
+Reply