Как отобразить счетчик пингбеков/трекбеков в колонке админпанели

По умолчанию, список постов в консоли 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');
          }
}
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top