По умолчанию, список постов в консоли WordPress отображается со счетчиком комментариев к статьям, но без трекбеков и пингбеков, их количества.
Ниже интересный хак, чтобы исправить это досадное недоразумение.
Вставьте код в файл functions.php. Это достаточно сделать всего однажды, повторить придется разве что после обновления темы.
function commentCount($type = 'comments'){
if($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;
}
add_filter('manage_posts_columns', 'posts_columns_counts', 1);
add_action('manage_posts_custom_column', 'posts_custom_columns_counts', 1, 2);
function posts_columns_counts($defaults){
$defaults['wps_post_counts'] = __('Counts');
return $defaults;
}
function posts_custom_columns_counts($column_name, $id){
if($column_name === 'wps_post_counts'){
commentCount('trackbacks'); echo "<br />";
commentCount('pingbacks');
}
}
