WordPress - как подсчитать все комментарии разом

Краткое описание маленькой задачки

У API WordPress присутствует замечательная возможность вывести на экран количество комментариев, но только относящихся только к отдельно взятой записи сайта. Имя этой функции get_comments_number(). Но как быть, когда хочется узнать сколько комментариев посетителей накопилось ко всем материалам сайта за всё время существования ресурса?

WordPress Количество комментариев

Такое же маленькое решение миниатюрной проблемы

Привожу пример однострочного запроса к базе данных, обернутого "пхпшной" функцией:

<?php
function _get_all_comms_count() {
  global $wpdb;
  // Выбираем только отзывы со значением поля comment_approved равным единицек,
  // т.е. берем только одобренные/опубликованные.
  $question = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'"); 
  if ( $question > 0 ) :
    $question = number_format( $question ); 
    return $question;
  endif;
  return 0;
}
// Пример вывода.
print "Количество комментариев ко всем записям блога: ". _get_all_comms_count();
?>


А теперь тот же функционал очищенный, т.е. без "шелухи", более условно-пригодный к применению:

<?php
function _get_all_comms_count() {
  global $wpdb;
  $n = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
  return ($n > 0) ? number_format($n) : 0;
}
?>

 





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.