Count comments, trackbacks and pingbacks

WordPress Tutorial – 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.

 

 

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

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

Be Sociable, Share!

Leave a comment