为博客添加读者墙

上回书说到,我在给 wordpress 博客添加读者墙的时候,遇到了评论者信息的批量修改问题,于是介绍了一下批量修改博客评论的方法。很快得到了朋友们的回复,我惊呆了:朋友们哪,那篇的主题不是读者墙啊,这让“批量改评论”这个题目情何以堪。风光无限的前台总是吸引眼球,默默无闻的幕后只能寂寞垂泪。

本篇才是说读者墙的事儿。听从大家的意见,为了整洁和网速,我把墙放到了单独的一个读者友链页面上。同样是为了整洁和网速,我顺手把评论也挪到了个叫做评论汇总的单独页面上,侧边栏只保留了个搜索栏和广告栏。这下清净了。

安装

给 wordpress 博客添加读者墙,容易。在 wordpress 后台插件安装界面搜索 readers wall,安装就行了。在帖子哪里输入方括号括起来的 readerswall,哪里就会出现读者墙。动画效果可以去插件的设置界面修改。就这么简单。

麻烦的是后边。

重复头像问题

安心博客的博主提意见,说墙上出现了两个他的头像。勺子也有两个(他自己博客的墙上也有两个)。两个还算是少的,碧云飘鹤的博主,我的老乡马光出现了三次。我在数据库里查了一下,终于闹明白了。原来,虽然 id 留的都是马光,但邮箱有时是 m…qq.com,有时是 ma….net,有时是mag…net,readers wall 根据邮箱来区分,把他们当做了三个马光。这好办,用上回书讲的方法,批量修改评论者的邮箱即可:

UPDATE wp_comments SET comment_author_email = 'ma....net' WHERE comment_author = '马光' ;

这不能怪马光,都怪我用了多说插件。同一个人,有时候登录了 qq,在我博客上留言时就自动留下了他的 qq 邮箱,于是跟以前的信息不一致了。我发现,这个读者墙插件是以邮箱为唯一标识的,只要邮箱相同,就认为是同一个评论者,不管 id 是否相同。所以,土木坛子曾在评论时用过“土木坛子”、“日光之下并无新事”、“土木坛子还活着”、“依然可访问”等多个id,但邮箱从没变过,因此就被认为是同一个评论者,列在读者墙上了。

为了避免日后的混乱,我停用了多说插件,还是请评论者留信箱比较清爽。

去掉博主头像问题

莫失莫忘的博主 yxiao 反问我为何把我自己也列在读者墙上。是的,这样的确不妥。我找到了办法把自己从中去掉了。readers wall 插件只列出数据库中 user_id 值为 0 的评论者,所以我把自己的 user_id 改为 1,就从读者墙上消失了。方法是

UPDATE wp_comments SET user_id =1 WHERE comment_author =  'dapeng' ;

空邮箱问题

上回书提到,我的读者墙排在第一是 mono Miao,这是我的师姐。墙上显示她发了 354 条评论,而我在后台遍寻不着。原因被我找到了,因为她发表的部分评论没有留她的邮箱。由于邮箱是区分读者的唯一标识,readers wall 就把这些评论和其他众多没有留邮箱的评论都归到她的名下,排在了前头。

这个假信息,必须要去掉。正如去掉博主头像的方法,只要给那些没留邮箱的评论修改一下 user_id就行了。我把他们改成了 24。至于为什么,你猜。

UPDATE wp_comments SET user_id =24 WHERE comment_author_email =  '' ;

为博客添加读者墙》上有22条评论

      1. 马光

        博客嘛,文字内容是一部分,搭建程序、折腾插件什么的也是一部分,二者皆为乐趣^_^

        回复
  1. 马光

    我这真是躺着也中枪啊!呵呵,蛮好,以后固定有一个邮箱,免得收到“意外”的麻烦!

    回复
    1. dapeng 文章作者

      真不是故意让你中枪,实在是老乡你太典型啊。

      回复
  2. Leniy

    多说一个烦人的地方就是,社会化登陆时,除非评论者手动绑定邮箱,否则不会把邮箱信息回流到wp的。而wp是用email作为唯一鉴定方式

    回复
    1. dapeng 文章作者

      有人喜欢有人烦,众口难调,多说这个烦人的地方,可能是多方面权衡的结果。

      回复
  3. 勺子

    窃以为:那个评论汇总真心是没有必要的,因为不结合文章内容的评论看起来真是一头雾水。

    回复
    1. dapeng 文章作者

      其实,评论汇总是按时间倒序排列的读者墙。用一段时间试试。有时候,稀里糊涂也是一种美。

      回复
    1. dapeng 文章作者

      就折腾读者墙这事儿上来说,我们都属于比时代脚步慢半拍的。

      回复
  4. sweetblues

    我来添加我的第二条评论。
    我的博客我都不知道多久没折腾了,偶尔贴贴拍的照片对付一下。

    回复

发表评论

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

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax