Виджет TOP комментаторов

Приветствую! Сегодня рассмотрим возможности реализации такой фишки, как создание виджета самых активных комментаторов блога. Для чего он нужен? Данный блок удобно использовать при проведении конкурса комменаторов на блоге, чтобы каждый посетитель наглядно видел, кто лидирует. С другой стороны он положительно повлияет на привлечение на блог новых комментаторов, поскольку присутствие фотографии и ссылки на сайт комментаторов не только работает на удовлетворение их самолюбия (прятно ж полюбоваться на свою аватарку, красующуюся на всех страницах популярного блога), но и на реальное увеличение трафика на их сайты, так как если этот блок находится на всех страницах сайта, то на блоги присутствующих в этом виджете людей резко увеличится приток посетителей.

Список активных комментаторов за месяц

Наиболее простой способ организовать на своем блоге список ТОП комментаторов за определенный отрезок времени — установить плагин TOP Commentators Widget. Устанавливаем его и активируем. Далее нам надо зайти не как обычно в раздел управление настройками в меню «Параметры», а непосредственно в сами виджеты, где мы его активируем, вставив в сайдбар. И прямо здесь появятся его настройки.

Виджет TOP комментаторов

Давайте посмотрим, что означают основные из них.

Reset period every — здесь выставлете тот период, за который вы будете вести свой топ. Для определения лучшего комменатора месяца выберите «Month»
Limit number of names to — количество выводимых в списке комментаторов
Limit characters in names to — ограничение на количество букв в имени
Remarks for blank list — сообщение, которое будет появлться, если еще никто не оставил комментария
Filter the following full/partial URLs и Filter the following full/partial Emails — не отображать в списке людей с определенным адресом сайта или email
Display list as — стиль отображения — с нумерацией или без
Open each link in a new window? — открывать ссылки в новом окне
NoFollow each name if hyperlinked? — добавлять к ссылкам на сайты параметр nofollow
Show number of comments for each commenter? — показывать количество оставленных отзывов для каждого участника
Show in home page only? — показывать виджет только на главной странице
Display only commentors with URL? — отображать только тех пользователей, которые указали адрес на свой сайт
Display Gravatar? — показывать граватар участника топа
Use the following default Gravatar — его размер и картинка по умолчанию

Настраиваем все эти параметры и получаем результат, похожий на тот, что на моем блоге:

Виджет TOP комментаторов

Лучшие комментаторы без плагина

Есть возможность организовать тоже самое и без установки дополнительных плагинов. Правда, для гибких настроек придется самостоятельно править код, но все основное сделать достаточно просто.

Открываем файл functions.php и добавляем следующий кусок:

//ТОП КОММЕНТАТОРОВ

function top_commentator(){
global $wpdb;

$month = true;
$nofollow = true;
$count = 6;
$col = 2;
$avatarSize = 60;
$exceptionEmail = 'wpotvet@gmail.com';
$results = $wpdb->get_results('
SELECT
COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url
FROM
(select * from '.$wpdb->comments.' order by comment_ID desc) as pc
WHERE
comment_author_email != "" AND
comment_type = "" AND
comment_approved = 1 AND
comment_author_email NOT IN ('.preg_replace('/([\w\d\.\-_]+@[\w\d\.\-_]+)(,? ?)/','"\\1"\\2',$exceptionEmail).')'.
($month ? 'AND month(comment_date) = month(now()) AND year(comment_date) = year(now())' : '').
'GROUP BY
comment_author_email
ORDER BY
comments_count DESC
LIMIT '.$count
);
$output = "

“; $i = 0; foreach($results as $result){ if ($i>=$col) { $output .= “”; $i = 0; } $i++; $output .= “”; } if ($i

“.get_avatar($result->comment_author_email,$avatarSize).””; if ($result->comment_author_url) if ($nofollow) $output .= “”.$result->comment_author.””; else $output .= “”.$result->comment_author.””; else $output .= $result->comment_author; if ($comment) $output .= ” (“.$result->comments_count.”)”; $output .= “
Оцените статью