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

Простой плагин для вывода количества комментариев в WordPress
В этой статье речь пойдет о написании простого плагина для столь популярной уже системы управления содержимым 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(); в то место где вам нужно показать количество комментариев.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

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

  1. иван:

    не понятно как делать

    • Что непонятно, создаешь плагин, и вызываешь функцию viscomments_view() из любого места шаблона где нужно

  2. Дмитрий:

    Ну и куда ссылку засунули, чтоб скачать???

  3. Дмитрий:

    Не работает способ, выводит не реальное значение комментариев, а сколько раз комментировали всего, т.е считает вместе с комментами, которые были удалены

  4. patrik:

    Wow! I was terribly impressed!!

  5. richkeeper:

    У каждой записи есть поле в таблице comment_count называется. Какой смысл создавать лишний никому не нужный плагин?

    • richkeeper:

      Даже если и делаешь выборку по БД, глупо выводить все результаты через get_results, когда можно подсчитать количество полей через query )

  6. Freeq:

    Помогите,пожалуйста. Нужна стата на отдельной странице,где будет показано кол-во комментарий каждого пользователя

  7. Dwi:

    Код возьмем с плагина выше просто уберем все ненужное! Для вывода количества опубликованных постов достаточно в файл functions.

Оставить комментарий

Ваш адрес email не будет опубликован.