解决Popularity Contest插件与Google Sitemaps Generator 3.0插件的兼容性问题

星期五, 九月 28th, 2007

在让Popularity Contest插件适用于WordPress 2.3之后,漫步留言说Popularity Contest和Google Sitemaps Generator 3.0这两个插件之间的兼容性有问题,如果同时启用评论会有问题。我本地测试了一下,确实在提交评论的时候会出现错误,错误原因是mysql_query函数使用了不存在的一个数据库用户名。查看popularity-contest.php文件,发现里面使用了mysql_xxx类函数。而Google Sitemaps Generator 3.0里面也使用了mysql_xxx类函数,并且在最后使用了mysql_close($con);语句来关闭了数据库连接,这样就导致了popularity-contest.php无法使用有效的数据库连接。 我的解决办法是把popularity-contest.php里面所有的mysql_xxx类函数都用功能相同的WodrPress提供的wpdb类中的函数来替代。以下是修改好的Popularity Contest插件: 与Google Sitemaps Generator 3.0兼容的Popularity Contest插件 这个问题在Google Sitemaps Generator 2.7.1版本里不会出现,因为2.7.1版本里没有使用mysql_xxx类函数,不知道为什么3.0版本里会使用,而不是使用wpdb类。我个人是认为在插件涉及到WordPress的数据库时最好使用wpdb类,这样一来比较安全,二来也减少了因为WordPress升级而可能带来的不兼容性。 当然,有什么问题还是可以给我留言或者发信给我^_^

让Popularity Contest插件适用于WordPress 2.3

星期三, 九月 26th, 2007

Popularity Contest是一个常用的WordPress统计插件,水煮鱼介绍过它及其扩展应用,我也一直使用这个插件。 但是它的老版本在最新发布的WordPress 2.3里会产生错误,作者的blog里也指出了这个情况,由于作者有较多的插件需要更新,所以不能马上解决这个问题。刚好有人留言说想在WordPress 2.3下使用这个插件,我就尝试着修改了一下。老版本的错误主要出现在它使用了post2cat和categories这两个已经在2.3中无效的数据表,我修改了一下它的sql语句,使它能在2.3下正常工作。 下载地址:popularity-contest for WordPress 2.3 更新:下载地址已经更新至兼容Google Sitemap Generator 3.0的版本 注意,该版本仅在WordPress 2.3下能正常工作。由于我并没有使用这个插件的所有功能,所以如果在使用中发现其他的问题,请给我留言或发信给我。