WP-Reader-Wall 插件兼容 WordPress 3.0的修改

352 views 七月 22, 10 by Timothy

wp-reader-wall是个有意思的插件,能在页面列出最近评论过的同学的头像。采用照片墙的方式,展示给用户,并且,头像的排序是根据评论的条数来排序的。
自从上次升级WordPress到3.0后,发现者插件没有正常工作了,索性禁用了此插件,也没时间仔细研究。今天特闲,所以决定拿这插件来研究研究。发现导致插件工作不正常的地方,是在插件的代码中定义select的sql语句,取读者数据的时候出了问题。把这句sql从插件中挖出来,在线上环境的mysql中执行了一下,果然取不到数据。刚开始,怀疑是sql语句的where条件的问题,后来逐个排除,没发现异常。最后,把重点放在了表名上,插件里面是用的一个全局变量:$tablecomments 来表示评论的表,索性直接替换成wp_comments试试,果然能取到数据了。看来$tablecomments在WordPress 3.0中失效了。去wordpress搜了一下,官方提到$tablecomments变量是不推崇的方式,可能已经被弃用。官方还建议了一些其他的全局变量的替代办法,如下:

image这样,我们可以遵循官方的建议,在WP-Reader-Wall插件的select语句中,用$wpdb->comments替代原来的$tablecomments,这样,插件就能正常在WordPress 3.0下使用了。总结了一下,关于WordPress升级遇到的一些问题,可以直接查阅官方文档,还有就是参考每个版本之间的变化,包括变量定义,以及数据库改动。这才是最好,最直接的办法。

具体修改方法,在WP-Reader-Wall.php中,找到如下的代码:

1
	$request = "SELECT count(comment_ID) comment_nums,comment_author, comment_author_email,comment_author_url FROM $tablecomments  where comment_date》'".$cur_time_span."' AND comment_type='' AND comment_approved=1 group by comment_author_email order by count(comment_ID) DESC ";

修改为:

1
2
3
$request = "SELECT count(comment_ID) comment_nums,comment_author, comment_author_email,comment_author_url FROM ".$wpdb->comments.
" where comment_date>'".$cur_time_span."' AND comment_type='' AND comment_approved=1 group by comment_author_email order by count(comment
_ID) DESC ";

分享到:

声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设
本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权,除非注明,本站文章均为原创,转载请注明转自 Timothy's Space 并应以链接形式标明本文地址!

你可能也对下列文章感兴趣


Add your comment

19 Responses to "WP-Reader-Wall 插件兼容 WordPress 3.0的修改"

  1. 久酷 CHINA Mozilla Firefox Windows 说道:

    嗯,一升级就得看看官方文档哪些地方变动了,要不插件就要作废了……

  2. Firm CHINA Google Chrome Windows 说道:

    WordPress一升级,N多插件就都不能用,更新跟不上是经常的事

    • Timothy CHINA Mozilla Firefox Windows 说道:

      @Firm: 升级会涉及到数据库的改动和一些其他的变量的改动,所以插件不兼容也是难免的。只有手动改插件,或者等原作者出新版。

  3. i981的世界 AUSTRALIA Google Chrome Windows 说道:

    感谢博主提供的修改方法,已经用上了,呵呵

  4. mice CHINA Internet Explorer Windows 说道:

    没有升级的路过 = =.
    再加上读者墙 是非插件的路过…

  5. 小杰 CHINA Internet Explorer Windows 说道:

    正愁呢,学习~~

  6. 不知不觉 AUSTRALIA Google Chrome Windows 说道:

    郁闷,改了还是不能显示…

  7. 剑书 CHINA Google Chrome Windows 说道:

    我昨晚也装了一个,因为主题侧边栏限制,所以没搞成日志页侧边栏的形式。

    PS:我昨天装这插件的时候,发现作者6月份就对其进行了3.0的支持啊?所以没有任何修改直接就用上了。

  8. 剑书 CHINA Google Chrome Windows 说道:

    追加:你这儿日志页的数据库查询有点偏高啊,刚留言完刷新后92 queries in 1.075 seconds,现在24 queries in 0.928 seconds

  9. yosyua Google Chrome Windows 说道:

    改了还是没用。 :?:


Leave a Reply

 您已输入0

(Ctrl+Enter)