wordpress snippets last updated   : October 6, 2014
we now have 641 snippets

Count comments, trackbacks and pingbacks

wordpress snippet

Add the first block of code to the functions.php of your wordpress theme. The next section of code has a list of functions to place within your theme to display the counts of comments, trackbacks and pingbacks.

snippet :  PHP - functions.phpcopy
function commentCount($type = 'comments'){
	if($type == 'comments'):
		$typeSql = 'comment_type = ""';
		$oneText = 'One comment';
		$moreText = '% comments';
		$noneText = 'No Comments';
	elseif($type == 'pings'):
		$typeSql = 'comment_type != ""';
		$oneText = 'One pingback/trackback';
		$moreText = '% pingbacks/trackbacks';
		$noneText = 'No pinbacks/trackbacks';
	elseif($type == 'trackbacks'):
		$typeSql = 'comment_type = "trackback"';
		$oneText = 'One trackback';
		$moreText = '% trackbacks';
		$noneText = 'No trackbacks';
	elseif($type == 'pingbacks'):
		$typeSql = 'comment_type = "pingback"';
		$oneText = 'One pingback';
		$moreText = '% pingbacks';
		$noneText = 'No pingbacks';
	endif;
	global $wpdb;
    $result = $wpdb->get_var('
        SELECT
            COUNT(comment_ID)
        FROM
            '.$wpdb->comments.'
        WHERE
            '.$typeSql.' AND
            comment_approved="1" AND
            comment_post_ID= '.get_the_ID()
    );
	if($result == 0):
		echo str_replace('%', $result, $noneText);
	elseif($result == 1):
		echo str_replace('%', $result, $oneText);
	elseif($result > 1):
		echo str_replace('%', $result, $moreText);
	endif;
}
source →
snippet :  PHP - themecopy
commentCount(); //echoes the comment count
commentCount('comments'); //same as the example on top
commentCount('pings'); //echoes number of trackbacks and pingbacks
commentCount('trackbacks'); //echoes number of trackbacks
commentCount('pingbacks'); //echoes number of pingbacks
source →

Did you like this post? If so please share it with your friends. Thanks!