问题描述

最近我不得不转到另一个域,不得不在 enw 服务器上重新创建我所有的 MySQL 表。我注意到,对于一些帖子,评论数量翻了一番。示例 – http://inversekarma.in/scraps/you-dont-mess-with-the-rajinikanth/

在上面的帖子中,只有 4 条评论,但评论鞋 8 评论。我不知道它不是一个 theme-related 问题,因为这只发生在几个帖子。

有人可以告诉我如何编写 MySQL 查询来重新计算所有帖子的评论?还是插件?

最佳解决方案

尝试这段代码:

警告:这是一个 PSEUDOCODE!

$entries = $wpdb->get_results("SELECT * FROM wp_posts WHERE post_type IN ('post', 'page')");

foreach($entries as $entry)
{
    $post_id = $entry->ID;
    $comment_count = $wpdb->get_var("SELECT COUNT(*) AS comment_cnt FROM wp_comments WHERE comment_post_ID = '$post_id' AND comment_approved = '1'");
    $wpdb->query("UPDATE wp_posts SET comment_count = '$comment_count' WHERE ID = '$post_id'");
}

或者 you might want to try solution from this page(虽然这不是正确的方式,因为您将为每个帖子添加另一个查询)

次佳解决方案

似乎是一个常见的问题。尝试这个插件:

http://wordpress.org/extend/plugins/web-ninja-comment-count-fixer/

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。