您的位置: 首页 / Experiences, PHP / WordPress 2.0.5 一处 Bug

WordPress 2.0.5 一处 Bug

Published at Dec 5, 12am / Keywords: ,

最近忙着 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],导致结果不正常,更正即可。

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 手把砸烂已经不远了,呵呵。

发表您的观点或推荐本文 Loading...