Выводим количество пингбеков/трекбеков в админке WordPress

Трекбек – это уведомление о ссылке на веб-документ. Он помогает отслеживать, кто ссылается на страницу (статью) и, следовательно, приводит заинтересованных читателей на данный сайт. Трекбек – один из трех способов линкбека, два других – пингбек (pingback) и рефбек (refback). Обратите внимание, что для применения трекбека не обязательно быть физически связанными друг с другом. Пингбеки были созданы для того, чтобы решить некоторые проблемы, которые люди видели в трекбеках.

По-умолчанию, список записей в консоли вашего WordPress отображается только с количеством комментариев, однако без счетчика трекбеков и пингбеков. Ниже — полезный хук для добавления этого счетчика в админку.

Просто вставляем код ниже в файл functions.php вашей темы или в плагин для сайта WordPress. После сохранения файла вы увидите новую колонку в списке записей с количеством пингбеков/трекбеков.

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: 5.0/5 (1 vote cast)

Об авторе ADv

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