让wp最新评论隐藏博主评论#主题 iNove

不是iNove主题的可以参考下原文《让wordpress最近评论中不显示自己的评论》,也可以参考本文,但也要感谢知蚁了<亨sir正在使用 WordPress 3.2.1版iNove主题,测试成功!

昨天工作上受罚了,忙到晚上0点回来,看了下评论好多,忍不住在睡觉前打开本子,给予一一回复(后来还想给予回复,太困了,于是只能择日闲下来再一一回访!没有及时回复请见谅!因为只要在本博上有留言的,都会上俺家读者墙,所以不用担心俺会漏了谁)!亨sir回复完后发现,首页的最新评论全是亨sir 、亨sir....实在忍无可忍,搜谷家老哥,试了好多,好多搞不定啊!后来在知蚁兄那看到这篇文章,再尝试一番,把自己模版下面的所以php文件找了一个遍,未果!失望之余,终于在俺 这主题和俺这最新版本中找到了我要找到了“get_comments”。

先来前言篇:

查看了下wordpress数据库中的wp_comments表,其中字段user_id即是用于标识用户的,来自访客的留言user_id=0,有了这些信息就好办了,只要在获取comments的时候传递user_id=0这个参数就可以了。wordpress自带的最新评论不怎么好用,很多主题都会有自带的最新评论模块(本人用的就是自带的小工具那个),因此要修改的地方也要根据情况来定。

在wordpress\wp-includes\default-widgets.php中先找到class WP_Widget_Recent_Comments extends WP_Widget,这个就是wordpress自带的显示最近评论的代码了,在这个里面找到上面要修改的代码(大约在643行),修改下即可。

  1. $comments = get_comments( array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) );  

改为

  1. $comments = get_comments( array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish', 'user_id' => 0 ) );  

PS:
修改完后会有个问题,就是这种方法只适用于隐藏登录后发表的回复,如果不登陆,即使用和后台管理员一样的昵称、E-mail在前台回复,依然会显示在最近评论中的,原因没有登录时候的回复写入数据库的时候user_id=0。

Comments

  1. 我加上去后好像没用啊~神马情况啊~~晕
    志慧 最近发布的文章..近况小计My Profile

    [reply]

    亨sirat Firefox 6.0.2 Firefox 6.0.2 Windows XP Windows XP

    @志慧, 你好,你是否在登陆后台再留的言,如果你之前有在没登陆的情况给别人留的言,还是会被显示的

    [reply]

    志慧at Google Chrome 14.0.835.186 Google Chrome 14.0.835.186 Windows 7 Windows 7

    @亨sir, 哦就是说要从加了以后开始以后评论才不显示对吧~
    志慧 最近发布的文章..wordpress面包屑、CommentLuv、头像缓存My Profile

    [reply]

    亨sirat Firefox 6.0.2 Firefox 6.0.2 Windows XP Windows XP

    @志慧, 不是,只要你加了这个以后,之前你在后台登陆上然后给评论的就不会显示,但如果不是在后台登陆而在前台直接回复的还是会显示的
    亨sir 最近发布的文章..用你的逻辑分析分析其中的恐怖My Profile

    [reply]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

CommentLuv badge