投稿のコメント数を取得する方法は?

こんにちは。

カスタムテンプレートでディスコースをリンクしており、投稿の詳細にコメント数を表示したいと考えています。
記事はこちらです - První auta od Xiaomi. Rychlejší umí jet hodně přes 200 km/h! 、対応するディスコースはこちらです - První auta od Xiaomi. Rychlejší umí jet hodně přes 200 km/h! - Komentáře ke článkům - Komunita Svět Androida
現在のコメント数を取得するにはどうすればよいですか?

ご協力ありがとうございます。

こんにちは、@Vladislav_Musílekさん

WP Discourse プラグインは、標準の WordPress 関数 get_comments_number のフィルターにフックします。そのため、テンプレートでそれをエコーすることで、投稿の Discourse コメント数を表示できます。

echo get_comments_number();

WP Discourse コメントの詳細については、以下をご覧ください。

「いいね!」 3

こんにちは。
ご協力ありがとうございます。しかし、既存のサイトに残っているコメントがあり、既存のコメント数、Discourseのコメント数を取得して合計する必要があります。これは可能でしょうか?

特定の投稿のWordPressとDiscourseのコメントの合計を取得したい場合は、get_comments_number()を使用します(つまり、両方の合計が返されます)。

サイト全体のコメントの合計(特定の投稿からではなく、WordPressまたはDiscourseのいずれか)を取得したい場合、これはやや主観的な質問です。「すべてのコメント」をどのように定義するかによります。カスタム関数を作成する必要があります。WordPressコメントのみをカウントする場合も同様です。次のようなものを作成し、ショートコードまたはブロックで使用します。

function count_all_comments() {
     $wordpress_count = wp_count_comments();
     $count = $wordpress_count->approved;
     $query_args = array(
      	'post_status' => 'publish',
     );
     $query = new WP_Query($query_args);
     if ( $query->have_posts() ) {
	    while( $query->have_posts() ) {
		  $query->the_post();
		  $count += intval( get_post_meta( get_the_ID(), 'discourse_comments_count', true ) );
        }
     }
    return $count;
}

(これは即興で書いたものなので、使用する前にテストしてください :))

ここでは、承認済みのWordPressコメント数と、公開済みの投稿のDiscourseコメント数を返すように選択しました。カウントの対象として他の選択肢もあります。