最近、私は別のドメインに移動しなければならなくなり、すべてのMySQLテーブルをenwサーバーに再作成しなければなりませんでした。私はいくつかの投稿では、コメント数が2倍になったことに気づきました。例 - http://inversekarma.in/scraps/you-dont-mess-with-the-rajinikanth/ 。
上記の投稿では、コメントは4つしかありませんが、コメントは8つのコメントを数えます。私はそれがテーマ関連の問題ではないことを確信していません、これは少数の記事のためにだけ起こるので。
MySQLのクエリを作成してすべての投稿のコメントを再集計する方法を教えてもらえますか。それともプラグイン?
このコードを試してください:
$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'");
}
一般的な問題と思われます。このプラグインを試してください:
http://wordpress.org/extend/plugins/web-ninja-comment-count-fixer/ /
そのためのWordpress APIがあります: wp_update_comment_count($ post_id、$ do_deferred) 。確かに、それはそれらの多くを蓄積し、ただ一度にカウントを更新するための延期メカニズムを持っていますが、それは単一の投稿で動作します。