Простой плагин для вывода количества комментариев в WordPress

Итак, приступим, задачей плагина является вывод общего количества комментариев для поста. Такое решение, к примеру, поможет пользователям увидеть общее количество комментариев, находясь в любой части сайта, где у вас расположена ссылка на любой пост.
Для того чтобы написать плагин для WordPress нужно очень немного:
1. Для начала создать папку в \wp-content\plugins\, назвать её уникальным — понятным именем.
2. Создать в папке файл, в котором будет функциональное содержимое вашего плагина.
Итак, создадим папку wp-visible-comments в \wp-content\plugins\. Название папки отвечает сути плагина и достаточно уникально, таким образом перехлеста с другими плагинами маловероятно.
Создадим в папке файл wp-visible-comments.php. В нем будет находиться вся необходимая функциональность и описание. Основная часть этого файла — описание, в нем необходимо указать название плагина, ссылку на страницу разработчика, описание, номер версии, и т.д. В принципе создав просто файл с таким описанием у вас уже будет полностью рабочий пустой плагин, которым вы можете управлять из админ панели:
/* Plugin Name: VisibleCommentsPages for wordpress Plugin URI: https://webproggi.com Description: A plugin that shows comments amount of posts Version: 1.0 Author: Webproggi.ru Author URI: https://webproggi.com License: GPL2 */
Но для вывода комментариев нужно внести функциональность. В WordPress комментарии для каждого поста выведены в отдельную таблицу wp-comments, то есть необходимо просто подсчитать количество записей нужного поста в этой таблице и вывести в удобной форме. Для удобства создадим функцию, которая будет отвечать за вывод, и назовем ее viscomments_view:
/** * Shows comments amount for post * * Find comments number for post and show it * * @global object $post Post object * @return integer $post_comments Comments number * */ function viscomments_view() { global $post, $wpdb; $sql = "SELECT count(<code>w</code>.<code>comment_post_id</code>) as comm_num FROM <code>$wpdb->comments</code> w where <code>w</code>.<code>comment_post_id</code> = ".$post->ID; $comm_num = $wpdb->get_results($sql); if (count($comm_num[0]->comm_num)>0){ $cm = ""; $cm = $cm."<img src=\"".WP_PLUGIN_URL."/wp-visible-comments/images/comm_num.gif\" width='14' height='15' alt='Комментариев:' title='Комментариев'/> "; $cm = $cm.$comm_num[0]->comm_num; echo $cm; } }
В этой функции формируется обычный запрос, из которого получаем количество комментариев для нужного поста.
Для лучшей визуализации была создана папка images внутри плагина, в которую помещена картинка отображающая комментарии. Работа с ней также отображена в функции viscomments_view.
На этом работа с плагином закончена. Для его работы его необходимо просто активировать из админ панели и вставить вызов функции viscomments_view(); в то место где вам нужно показать количество комментариев.
не понятно как делать
Что непонятно, создаешь плагин, и вызываешь функцию viscomments_view() из любого места шаблона где нужно
Ну и куда ссылку засунули, чтоб скачать???
Не работает способ, выводит не реальное значение комментариев, а сколько раз комментировали всего, т.е считает вместе с комментами, которые были удалены
Wow! I was terribly impressed!!
У каждой записи есть поле в таблице comment_count называется. Какой смысл создавать лишний никому не нужный плагин?
Даже если и делаешь выборку по БД, глупо выводить все результаты через get_results, когда можно подсчитать количество полей через query )
Помогите,пожалуйста. Нужна стата на отдельной странице,где будет показано кол-во комментарий каждого пользователя
Код возьмем с плагина выше просто уберем все ненужное! Для вывода количества опубликованных постов достаточно в файл functions.