Показать только пинг (Pingbacks+Trackbacks) номер на Wordpress
Есть ли способ отобразить только количество пингов (число) в Wordpress?
На самом деле есть comments_number
функция, но показывает общее количество комментариев, пингбэков и трекбэков.
2 ответа
Следующий код работает на 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')
,
Не совсем уверен, что вы хотите: показывать только пингбэки? Если это так, и я не пробовал, но шаблон тегов /wp list comments "WordPress Codex показывает список пингбэков и опций.