web-dev-qa-db-ja.com

コメント数をリセットする

最近、私は別のドメインに移動しなければならなくなり、すべてのMySQLテーブルをenwサーバーに再作成しなければなりませんでした。私はいくつかの投稿では、コメント数が2倍になったことに気づきました。例 - http://inversekarma.in/scraps/you-dont-mess-with-the-rajinikanth/

上記の投稿では、コメントは4つしかありませんが、コメントは8つのコメントを数えます。私はそれがテーマ関連の問題ではないことを確信していません、これは少数の記事のためにだけ起こるので。

MySQLのクエリを作成してすべての投稿のコメントを再集計する方法を教えてもらえますか。それともプラグイン?

6
GPX

このコードを試してください:

警告:このIS擬似音声コード!

$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'");
}

または このページから解決策を試してみることをお勧め

5
ariefbayu

一般的な問題と思われます。このプラグインを試してください:

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

5
Jon

そのためのWordpress APIがあります: wp_update_comment_count($ post_id、$ do_deferred) 。確かに、それはそれらの多くを蓄積し、ただ一度にカウントを更新するための延期メカニズムを持っていますが、それは単一の投稿で動作します。

1
UncleZeiv