0 Выводим количество комментариев рядом с ником комментатора Опубликовано: 27.04.2011 | Рубрика: Хитрости Wordpress У меня на блоге стоит плагин топ-комментаторов, который показывает активность комментаторов за последний месяц. К сожалению, он не показывает общей картины активности того или иного читателя моего блога. Чтобы решить эту проблему, я решил вывести рядом с ником каждого комментатора общее количество его комментариев. Итак, открываем файл functions.php и добавляем в него вот эту функцию, которая будет подсчитывать общее количество комментов: function commentCount() { global $wpdb; $count = $wpdb->get_var('SELECT COUNT(comment_ID) FROM ' . $wpdb->comments. ' WHERE comment_author_email = "' . get_comment_author_email() . '"'); echo $count . ' comments'; } Как видите, во внимание берётся email, который указал комментатор в соответственное поле. После этого нужно найти код, который отвечает за вывод комментов (это может быть comments.php или же functions.php, как было в моем случае). Вставляем в нужное место вывод количества комментов, функцию для которого мы создали минуту назад. <?php commentCount(); ?> Вот что у меня получилось: Внимание! В комментариях один добрый человек (ник Pepper) посоветовал изменить этот код, так как он может «положить» блог. Цитирую: Хотите положить этот сайт? Пишите побольше комментов! С таким плагином на каждый комент делается запрос к базе данных. И даже если 10 коментов написал один и тот же автор, все равно запрос будет сделан 10 раз. 100 коментов – 100 запросов, 1000 – 1000 и т.д. В итоге один успешный пост с кучей коментов станет надгробным камнем для сайта. Оптимизируйте! 1. Выбираем все уникальные email адреса комментаторов данного поста и сохраняем а массив. 2. Для каждого адреса в массиве считаем кол-во коментов. 3. Для каждого комента вытягиваем email, потом проверяем есть ли он в массиве. Если есть, выводим число. Можно оптимизивать еще дальше и сделать все в одном SQL запросе! GROUP BY вам в помощь! Я заметил, что у меня блог в последнее время начал тупить (как раз в этот период у меня на блоге было очень много комментариев). Итак, вот пост Pepper’a, в котором он делится с нами кодом, который не так будет нагружать блог. P.S. Узнайте как оказывается легко сделать блог. Я тоже когда то думал, что это сложно Понравилась статья? Подписывайтесь на RSS, чтобы быть в курсе всех самых интересных новостей моего seo блога! Sidash Facebook Twitter Google+ Telegram Vkontakte Записи по теме: Выводим твиты на WordPress блоге без плагинов WordPress + PHP = Love Как вставить рекламу между статьями Как вставить текст (рекламу) в RSS без плагинов Создание блога с помощью Wordpress This theme is released under creative commons licence, all links in the footer should remain intact Создание wordpress плагина с помощью техники ООП Обзор №10: Блог Euro Предыдущая « Игра для блоггеров: «Опиши предыдущий блог» Следующая Евробайт – европейский хостинг с русским лицом »