angus
(Angus McLeod)
2
こんにちは、@Vladislav_Musílekさん
WP Discourse プラグインは、標準の WordPress 関数 get_comments_number のフィルターにフックします。そのため、テンプレートでそれをエコーすることで、投稿の Discourse コメント数を表示できます。
echo get_comments_number();
WP Discourse コメントの詳細については、以下をご覧ください。
「いいね!」 3
こんにちは。
ご協力ありがとうございます。しかし、既存のサイトに残っているコメントがあり、既存のコメント数、Discourseのコメント数を取得して合計する必要があります。これは可能でしょうか?
angus
(Angus McLeod)
4
特定の投稿の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コメント数を返すように選択しました。カウントの対象として他の選択肢もあります。