Come ottenere il numero di commenti in un post?

Se stai cercando di ottenere il totale dei commenti di Wordpress e Discourse per un singolo post, allora get_comments_number() funzionerà (cioè, restituirà la somma di entrambi).

Se stai cercando di ottenere un totale complessivo di tutti i commenti sul tuo sito (non da un post specifico), sia da Wordpress che da Discourse, questa è una domanda piuttosto soggettiva. Dipende da cosa intendi per “tutti i commenti”. Dovrai scrivere una funzione personalizzata per questo, e lo faresti se stessi contando solo i commenti di Wordpress. Faresti qualcosa di simile e lo useresti in uno shortcode o blocco

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;
}

(Ho appena scritto questo al volo, quindi per favore testalo prima di usarlo :slight_smile: )

Nota che ho scelto di restituire il conteggio dei commenti Wordpress approved e il conteggio dei commenti di Discourse sui post pubblicati. Ci sono altre scelte che potresti fare riguardo a ciò che si qualifica per il tuo conteggio.