Следующий код работает на WordPress 2.9.1. Он может работать на других версиях, но я протестировал его только на 2.9.1.
<?php
global $wpdb;
$post_id = get_the_ID();
$total_ping_count = $wpdb->get_var("SELECT count(comment_id) FROM $wpdb->comments WHERE comment_type = 'pingback'");
$total_approved_pings = $wpdb->get_var("SELECT count(comment_id) FROM $wpdb->comments WHERE comment_type = 'pingback' and comment_approved = 1");
$post_ping_count = $wpdb->get_var("SELECT count(comment_id) FROM $wpdb->comments WHERE comment_type = 'pingback' and comment_approved = 1 and comment_post_id = $post_id");
echo "The total number of pings on this site is $total_ping_count.\n";
echo "The total number of approved pings on this site is $total_approved_pings.\n";
echo "The total number of approved pings on this post is $post_ping_count.\n";
?>
Приведенный выше код показывает количество пингбэков. Если вы хотите использовать трекбэки вместо пингбэков, просто измените comment_type = 'pingback'
на comment_type = 'trackback'
или если вы хотите комбинированный счетчик, измените его на comment_type IN ('pingback', 'trackback')
.