WordPress: visualizzare il numero di commenti ad un post al di fuori del Loop

WordPress: visualizzare il numero di commenti ad un post al di fuori del Loop

WordPress dispone di diverse funzioni per visualizzare il numero di commenti di un post. Purtroppo queste funzioni sono disponibili solo nel Loop. Vediamo come reperire il numero di commenti al di fuori del Loop.

La seguente funzione, da inserire nel file functions.php, utilizza l'oggetto $post per effettuare due query al database. La prima reperisce il numero di commenti, mentre la seconda verifica se i commenti sono ancora aperti per il post corrente:


function get_comment_count_for_posts() {

	global $post;
	global $wpdb;
	
	$id = $post->ID;
	
	$comment_count = $wpdb->get_var("SELECT comment_count FROM $wpdb->posts WHERE post_status = 'publish' AND ID = $id");
	$comment_status = $wpdb->get_var("SELECT comment_status FROM $wpdb->posts WHERE ID = $id");
	
	$html = '<div class="comment-count">';
	$html .= '<span>';
	$count = '';
	
	if($comment_status == 'open') {
	
		$count = $comment_count;
	
	
	} else {
	
		$count = 'Commenti chiusi';
	
	}
	
	$html .= $count . '</span></div>';
	
	return $html;
	

}

Possiamo quindi utilizzare questa funzione nel nostro tema:


echo get_comment_count_for_posts(); 
Torna su