WordPress 2.0.5 一处 Bug
最近忙着 Blog 改版,做模版的时候出现了一个奇怪的问题,分析代码后发现原来是 WordPress 的一处小 Bug。这个 Bug 并不严重,不会造成什么安全问题,写一下具体现象和修补方法。
Bug 现象:模版中调用 comment_number() 和 get_comment_number() 函数时,如果指定了 $post_id,则无法返回正确的评论数。
相关代码及解决办法:问题出在 [wp-dir]/wp-includes/comment-functions.php 235行。get_comment_number() 函数使用了数据库查询缓存来提高运行效率,但将 $comment_count_cache[$post_id] 误写为 $comment_count_cache[$id],导致结果不正常,更正即可。
- <?php
- // $comment_count_cache[$id] = $wpdb->get_var("SELECT comment_count FROM $wpdb->posts WHERE ID = '$post_id'");
- $comment_count_cache[$post_id] = $wpdb->get_var("SELECT comment_count FROM $wpdb->posts WHERE ID = '$post_id'");
- ?>
在 WordPress 2.0.5,LAMP 环境下测试通过。
btw: Wii 游戏手把已经可以在电脑上用了,不过看控制鼠标移动都那么费劲,可以遇见预见电脑离被 Wii 手把砸烂已经不远了,呵呵。
原文链接**:花儿开了 - WordPress 2.0.5 一处 Bug
** 本博客文章全部原创,原则上不欢迎全文转载,如需转载(包括部分转载,使用文章图片等)请务必标注原文链接!同时,本博文章不欢迎任何形式的派生及篡改,如需引用,请使用引用通告(Trackback) - http://blog.istef.info/2006/12/05/wordpress-20.../trackback/。商业网站使用请务必先取得作者授权!

可以遇见电脑离被 Wii 手把砸烂已经不远了,呵呵。
可以预见电脑离被 Wii 手把砸烂已经不远了,呵呵。
to kevin: 看的真仔细,改了,谢谢
真厉害。我改了,还学了下vim语言。
要不然得按235下。呵呵。谢谢。