Выводим количество комментариев рядом с ником комментатора
У меня на блоге стоит плагин топ-комментаторов, который показывает активность комментаторов за последний месяц. К сожалению, он не показывает общей картины активности того или иного читателя моего блога. Чтобы решить эту проблему, я решил вывести рядом с ником каждого комментатора общее количество его комментариев.
Итак, открываем файл 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 блога!