Come ottenere il numero di commenti in un post?

Ciao,

Sto collegando un discourse con un modello personalizzato e ho bisogno di ottenere il numero di commenti da visualizzare nel dettaglio del post.
Qui ho l’articolo - První auta od Xiaomi. Rychlejší umí jet hodně přes 200 km/h! e qui c’è il discourse corrispondente - První auta od Xiaomi. Rychlejší umí jet hodně přes 200 km/h! - Komentáře ke článkům - Komunita Svět Androida
Come ottengo il numero corrente di commenti?

Grazie per il tuo aiuto.

Ciao @Vladislav_Musílek,

Il plugin WP Discourse si aggancia al filtro per la funzione standard di WordPress get_comments_number. Quindi puoi mostrare il numero di commenti di Discourse su un post facendolo stampare nel tuo template:

echo get_comments_number();

Per saperne di più sui commenti di WP Discourse, controlla

3 Mi Piace

Ciao,

grazie per il tuo aiuto, ma il problema è che ci sono commenti lasciati sul sito esistente e devo ottenere il numero di commenti esistenti, i commenti su Discourse e sommarli. È possibile farlo?

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.