wp_update_comment_count()


WordPressのwp_update_comment_count()関数は、指定された投稿のコメント数を更新するために使用されます。この関数は特にカスタム投稿タイプや手動でコメント数を調整する必要がある場合に役立ちます。

シンタックス

wp_update_comment_count( int $post_id );
  • $post_id (int) — コメント数を更新する投稿のID。

例 1: 指定した投稿のコメント数を更新

次のコードは、特定の投稿IDを指定してコメント数を更新します。

wp_update_comment_count( get_the_ID() );

例 2: ループ内で投稿のコメント数を更新

ループ内で現在の投稿のコメント数を更新する方法です。

if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        wp_update_comment_count( get_the_ID() );
    }
}

例 3: 特定のカスタム投稿タイプのコメント数を更新

カスタム投稿タイプのコメント数を更新するコードです。

$args = array(
    'post_type' => 'custom_post_type',
    'posts_per_page' => -1
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        wp_update_comment_count( get_the_ID() );
    }
}
wp_reset_postdata();

例 4: 投稿IDを直接指定してコメント数を更新

投稿IDを直接指定してコメント数を更新する方法です。

wp_update_comment_count( 42 );

例 5: コメントが追加された後にコメント数を更新

新しいコメントが追加されたときに自動的にコメント数を更新します。

add_action( 'wp_insert_comment', function( $comment_ID, $commentdata ) {
    wp_update_comment_count( $commentdata['comment_post_ID'] );
}, 10, 2 );

注意事項

  • この関数はコメント数を正確に維持するために使用されますが、意図しない呼び出しを避けてください。
  • 投稿が削除された場合や非公開になった場合、コメント数が不正確になる可能性がありますので注意してください。

関連機能: