WordPress, Создание сайтов

Топ комментаторов в WordPress без плагина и с помощью плагина Top-Commentators-Widget

Блок лучших комментаторов на блоге WordPress

Приветствую Вас на своем блоге!
Если ваш блог комментируют или вы хотите, чтобы его комментировали, а также если вы проводите конкурсы комментаторов, то на вашем блоге обязательно должен стоять блок «Топ комментаторов». Назвать его на блоге можно по разному: Топ комментаторов, Самые активные комментаторы, Лучшие комментаторы…
Прочитав эту статью, вы узнаете, как установить топ комментаторов в WordPress, как с помощью плагина, так и с помощью кода.

Когда я решил установить блок «Топ комментатор» на своем блоге, то просмотрев несколько сайтов на эту тему понял, что сделать это можно двумя способами. По крайней мере самые популярные в рунете способы:
1. Установка с помощью плагина Top-Commentators-Widget;
2. Установка без плагина, с помощью редактирования файлов шаблона вашего блога;

Сначала я остановился на первом варианте, так как он во первых, для новичка самый простой. Во вторых, читая статьи о том, как установить «Топ комментаторов на блог в WordPress» с помощью плагина на других блогах, я видел у них блок самых активных комментаторов, который мне понравился, и я решил, что он выглядит именно так, но я ошибся.

Просто блогеры написав статью о том как установить блок топ комментаторов на блоге Wordoress с помощью плагина, не предупреждали, что сами им не пользуются, чем и вводили в заблуждение читателя. В итоге мой выбор пал на второй вариант.
Так как с редактированием файлов шаблона у меня проблем нет, и в файле style.css я себя чувствую уютно, то эту проблему я решил быстро.

Но для тех авторов, кто не может или не хочет редактировать шаблон блога, я опишу, как установить блок «Топ комментаторов» на блог с помощью плагина Top-Commentators-Widget. А затем, как установить «Топ комментаторов» на блог без плагина.

Но перед тем как установить блок «Топ комментаторов» на блог, нам нужно разрешить комментирование на нашем блоге. Для этого заходим в админку нашего блога.
Переходим по пути: Параметры — Обсуждение

Блок лучших комментаторов на блоге WordPress

И настраиваем комментирование статей по своему вкусу.

Блок лучших комментаторов на блоге WordPress

Тут нужно отметить галочками те пункты, которые вам нужны. А также выбрать аватар, который будет отображаться на блоге у тех комментаторов, у которых нет своего аватара на сервисе Gravatar.

Блок лучших комментаторов на блоге WordPress

На этом настройка комментирования на блоге закончена, осталось установить нужный нам блок «Топ комментаторов» на сайт.
Вот скриншот обоих вариантов вывода блока топ комментаторов на блоге, с помощью плагина и без него. С помощью плагина я привел пример с моего сайта на Denwer, без плагина с этого сайта, так как плагин я у себя устанавливать не стал.

Блок лучших комментаторов на блоге WordPress

Какой вариант подходит вам решайте сами.

Как установить блок комментаторов на блог WordPress с помощью плагина Top-Commentators-Widget.

Если вы не хотите редактировать файлы шаблона по какой либо причине, то можете установить блок «Топ комментаторов» с помощью плагина Top-Commentators-Widget. Он будет выполнять те же функции, что и вариант без плагина, только внешне они отличаются друг от друга, у этого комментаторы идут столбиком, а не таблицей. И сейчас его почти не встретишь на блогах, многие веб мастера установили блоки созданные с помощью редактирования файлов шаблона.

Для того чтобы установить блок «Топ комментаторов» с помощью плагина Top-Commentators-Widget, нужно скачать плагин с офф сайта. Я рекомендую скачать плагин с wordpress.org.

Блок лучших комментаторов на блоге WordPress

Скачивайте плагин и устанавливаете его на ваш блог. Как установить плагин на блог WordPress я уже рассказывал.
После установки плагина Top-Commentators-Widget нужно перейти в управление виджетами вашего блога:
Внешний вид — Виджеты

Блок лучших комментаторов на блоге WordPress

И переместить виджет Top-Commentators-Widget в боковую панель вашей темы для сайта. Далее нужно сделать настройки плагина.
Вот описание основных настроек плагина, устанавливайте их на свой вкус и цвет и плагин готов к работе.

Блок лучших комментаторов на блоге WordPress

1. Название виджета;
2. Описание виджета;
3. Имена, которые нужно исключить из комментариев;
4. Промежуток времени после которого обнуляется счетчик комментариев на блоке;
5. Сколько имен будет отображаться в блоке комментаторов;
6. Сколько символов содержит в имя комментатора;
7. Надпись, когда нет еще комментариев на блоге;
8. Фильтр по URL адресу;
9. Фильтр по e-mail адресу;
10. Нумеровать ли комментаторов цифрами или маркером;
11. Связать имя с URL адресом (лучше связать, по клику на имя будет открываться сайт комментатора);
12. Открывать ли сайт комментатора в новом окне;
13. Закрывать ли ссылки от индексации;
14. Показывать количество оставленных комментариев;
15. Показывать комментаторов на главной странице или на всех страницах блога;
16. Показывать только тех комментаторов, которые оставили URl;
17. Показывать Аватар или нет;
18. Размер аватара;
19. Показывать ли значок отличника, при достижении определенного числа комментаторов;
20. Где брать значок отличника;
21. С какой стороны показывать значок отличника;

На этом установка и настройка плагина Top-Commentators-Widget закончена.

Как установить блок комментаторов на блог WordPress без плагина.

Для того чтобы установить блок «Топ комментаторов» на свой блог WordPress без плагина, нам нужно изменить три файла вашего шаблона. Это файлы: functions.php, sidebar.php и style.css.

Изменить эти файлы можно разными способами, например скачать их через FTP, изменить и залить обратно. Или изменить их в админке вашего хостинга. Для новичка самый простой способ изменить файлы шаблона, это через панель администратора WordPress. Тем более, что в данном случае это будет совсем не сложно.

Обязательно сделайте резервную копию своего блога перед изменениями. Или хотя бы тех файлов, которые будете редактировать. И лучше всего тренировки проводить на локальном сервере Denwer или LAMP.

Для этого заходим в панель администратора своего сайта и переходим по меню:
Внешний вид — Редактор

Блок лучших комментаторов на блоге WordPress

Затем в правой колонке выбираем файл, который нужно редактировать.

Блок лучших комментаторов на блоге WordPress

Далее открываем нужный файл и редактируем.
Сначала выбираем для редактирования файл functions.php. Здесь нам нужно вставить два кода. Первый для того чтобы блок «Топ комментаторов» заработал на блоге, второй код нужен для того, чтобы виджеты вашей темы смогли обрабатывать php код.

И так вставляем первый код. Вставлять новый код в файл functions.php нужно будет в конце файла, перед закрывающим тегом:?>. Этот тег самый последний в файле functions.php и после него ничего не должно быть. Наш код вставляем сразу перед ним. На скриншоте внизу видно как стоят два кода в файле:

Блок лучших комментаторов на блоге WordPress

Скопируйте первый код и вставьте его к себе в файл functions.php:

 
function sp_top_commentator(){
    global $wpdb;
    $length = 0;        // максимальная длинна имени в символах, если стоит 0, то имя не обрезается
    $month = true;     // true - за текущий месяц, false - за все время
    $comment = true;    // показывать количество комментариев
    $nofollow = false;   // ссылки nofollow
    $count = 6;        // количество комментаторов
    $col = 3;       // количество колонок
    $avatarSize = 40;   // размер аватара
    $exceptionEmail = 'mail1@dom.ru, mail2@mod.ru'; // e-mail для исключения в комментариях
    $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<=$col) $output .= ""; $output .= "
".get_avatar($result->comment_author_email,$avatarSize)."
"; if ($length and $lengthcomment_author)) $result->comment_author = trim(mb_substr($result->comment_author, 0, $length)).'.'; 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 .= "
"; echo $output; }

Продублирую основные параметры блока:

length — максимальная длинна имени в символах, если стоит 0, то имя не обрезается;
month — показывать комментарии: true — за текущий месяц, false — за все время;
comment — показывать количество комментариев true и false;
nofollow — ссылки nofollow, true — ссылка не индексируется; false — индексируется;
count — количество комментаторов;
col — количество колонок;
avatarSize — размер аватара;
exceptionEmail = ‘mail1@dom.ru, mail2@mod.ru’; — вводим e-mail для исключения в комментариях;

После этого, если вы блок комментаторов будете вставлять через виджеты, то нужно прописать в файле functions.php еще один код:

 
add_filter('widget_text','sp_widget_execute_php',100); 
function sp_widget_execute_php($text) 
{     if(strpos($text,''.$text);         
$text = ob_get_contents();         
ob_end_clean();}     return $text;}

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

 

Это может быть футер или сайдбар. Тут уже на ваше усмотрение. Если вы хотите вставить блок «Топ комментаторов» в футер (подвал), то открывайте файл footer.php, если в сайдбар (боковая колонка), то открывайте файл sidebar.php. Куда именно в этих файлах размещать этот код, я вам сказать не смогу, так как это уже зависит от вашей темы.

Как вариант тоже перед закрывающим тегом, но лучше всего пробные размещения делать на локальном хостинге с помощью Denwer или LAMP. Как установить Denwer в Windows и как установить WordPress на Denwer я уже рассказывал.

Если вы хотите установить блок комментаторов через виджет, то этот код нужно поместить в виджет вашего блога.
Далее нужно определить внешний вид нашего блока. Это делается с помощью таблицы стилей css. Обычно этот файл называется style.css. Если у вас по другому, я думаю вы разберетесь как он называется.
Нам нужно в нем прописать css стили нашего блока. Делается это следующим кодом:

/*топ комментаторов*/
.top-comment {
    height:100%;
}

.top-comment table {
    min-height: 100%;
    height:100%;
    width:100%;
}

.top-comment table tr {
   text-align:center;
   vertical-align: top;
}

.top-comment table td {
    padding:0 5px 15px 5px;
}

.top-comment .avatar-top img {
    -webkit-box-shadow: #666 0px 2px 3px;
    -moz-box-shadow: #666 0px 2px 3px;
    box-shadow: #666 0px 2px 3px;
    padding: 3px;
    background: white;
    border-image: initial;
    border: 1px solid #D0D0BB;
    margin: 0 0 3px 0;
}

.top-comment .avatar-comment {
    font-size: 12px;
}

Вставляйте этот код в свою таблицу стилей и сохраняйте изменения. Все параметры в этом файле можно менять по своему усмотрению.
После этого блок «Топ комментаторов» должен появится у вас на блоге. На этом все, если что не понятно спрашивайте в комментариях, чем смогу помогу.
Удачи!

Еще по теме:

Напишите что нибудь:

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Обсуждение: 51 комментарий

  • Спасибо, давно искал способ сделать виджет комментаторов без плагина.

  • Денис написал:

    Без плагина быстрее грузится!

    • Samnit написал:

      1) боюсь, что это один из мифов, который без устали все транслируют из блога в блог.
      2) я предпочитаю тоже вариант без плагина, но исключительно потому, что это смотрится аккуратнее. В планах у меня есть переделать свой топ.

      • В любом случаи плагин это некое вмешательство в структуру движка, которое очень часто сказывается на скорости загрузки блога, я уже не говорю об ошибках, которые иногда появляются после установки плагинов.

  • Здравствуйте, Юрий! Рад знакомству! Замечательный у Вас сайт! Скажите пожалуйста, а почему он называется именно 48? это регион в котором Вы проживаете?

    • Юрий Хрипачев написал:

      Здравствуйте Дмитрий! Да, все просто, это код моего города Липецка.

  • Юрий, хотел еще спросить, знаете ли Вы какой-нибудь плагин, при помощи которого можно поставить заглушку на сайт, например сайт временно не работает, зайдите позже!

    • Юрий Хрипачев написал:

      Я знаю только плагин wet-maintenance, но я им не пользовался.

    • Можно использовать плагин Custom Coming Soon Pages для того что бы сделать страницу заглушки, скачать можно здесь wordpress.org/extend/plugins/custom-coming-soon-page
      Так же есть специальные темы, которые устанавливаются на блог и отображаются пока вы что — то редактируете.

  • Денис написал:

    Можно внести изменения в файл .htaccess

    • Юрий Хрипачев написал:

      Я не знаю, как там на счет .htaccess, но то, что вы Денис оставили 50 комментарий на моем блоге, это точно.
      Приз круглому комментатору 100 рублей. Поздравляю и желаю дальнейших удачных комментариев!
      Жду от вас реквизиты электронного кошелька, желательно WebMoney.

  • Денис написал:

    Спасибо за поздравления, Вам тоже удачи! Номер WMR отправил.

    • Юрий Хрипачев написал:

      Приз ушел, встречайте.

  • Денис написал:

    Приз получен, благодарю за оперативность!

  • Сам лично использую метод без плагина, он как по мне так красивее на много того что плагином, поэтому всем его советую.

  • Спасибо, очень подробно, осмелюсь попробовать еще раз. С ТОПом был горький опыт, что то неправильно сделала. Буду повнимательнее.

  • Юрий, можно подробнее про functions.php ? Даже одна лишняя скобка отрубает блог, промучилась и ограничилась плагином, хорошо хоть копию сохранила 🙂
    Но все равно спасибо, лучше чем ничего 🙂
    Успехов!

    • Юрий Хрипачев написал:

      Возможно это связано с особенностями конкретной темы и её PHP кода.
      На моем шаблоне все работает, если установить сразу два кода, друг за другом. А если установить только первый, то выдает ошибку.
      Может и у вас что то в этом роде.
      В любом случае вы правильно сделали, что сохранили все перед редактированием.

  • Юрий, наверное все работает. Просто в functions.php, в конце стоят обобщающие скобки { перед ?> и как именно они должны стоять не знаю,
    наверное каждый Ваш код должен как-то правильно ими закрываться…
    Даже одна лишняя скобка нарушает работу…
    Короче html придется изучать 🙂

    • Юрий Хрипачев написал:

      Наталья, кажется я нашел в чем было дело. Теперь все коды должны отображаться верно. Можете проверить еще раз, у меня с моего сайта коды все встали ровно.
      У меня на блоге стоял один скрипт, который я сейчас убрал, из за него все коды, почему то неправильно отображались.
      Благодаря вам я решил эту проблему. Спасибо, что указали на косяк в статье.

  • Вот, здорово, Юрий, что вы сами смогли установить. А я ковырялся, ковырялся в коде. И доковырялся, как говорится. Блог вообще вырубили. Так что страшно лезть опять. =)

  • У меня на блоге есть топ-комментаторов. Но все это сделано с помощью плагина. Если честно — выглядит не очень красиво. Но хотя бы на первое время. А потом нужно будет улучшить. Тем более, различные плагины нагружают движок. Это плохо.

  • Когда блог немного набирет посещаемость обязательно себе тоже поставлю такой виджет, но воспользуюсь наверно кодом, плагин как ни как но лишняя нагрузка на блог. Спасибо за статью!!!

  • Замечательно все получилось. Вставила этот ТОР комментаторов легко по Вашей инструкции. У вас полезный для меня блог. Подписалась.

    • Юрий Хрипачев написал:

      Лариса, я рад, что мои статьи вам помогли.

  • Вижу из комментариев, не только у меня вырубает блог, когда начинаю править, боюсь, вернее некогда разбираться и экспериментировать.

    • Юрий Хрипачев написал:

      Не надо боятся, нужно установить Денвер, на него свой шаблон, и спокойно тренироваться. Без Денвера не нужно портить основной сайт.

      • Денвер, где то слышала. Это как пробный сайт, наверное.

  • У меня вообще не отображается. Вставил первый код перед ?>, стили в styles.css в самый конец, и код в виджет, и ничего не отображается. Мало того, даже не отображается как текст. В чем дело не ясно!

    • Юрий Хрипачев написал:

      А комментарии есть на блоге? Если нет одобренных комментариев за текущий месяц, то ничего и не будет видно.

  • Алекс написал:

    Страница жутко тормознутая. Как только доходит до кода вывода комментаторов в Notepad++, страница встаёт намертво, ничем её не сдвинуть вниз. Другие вкладки браузера не активируются. Через секунд 15 страница наконец-то двигается, при чём в самый конец.

  • Если будете редактировать файлы functions.php, sidebar.php и style.css на своём компьютере, делать это нужно в Notepad++, ни в коем случае не в Блокноте.

  • У меня первая попытка была не удачная, делал по примеру на другом сайте, все тоже самое, только у них не было указано, что код нужно вставлять перед закрытием ?>, и я вкинул код в самый низ и запорол шаблон)

  • Юрий есть небольшой вопрос, насколько эффективный конкурс на топ комментаторов, стоит его проводить на сайтах? Как вы ощущаете эффект на своем сайте?

    • Юрий Хрипачев написал:

      Антон, смотря какой эффект вы хотите увидеть. Одно очевидно, поведенческие факторы блога улучшаются. Сказать точно, увеличилась ли посещаемость сайта из за этого конкурса я точно не могу, скорее это был один из факторов влияющий на этот показатель.

      • Мне тоже хочется сделать на одном из сайтов, но бывает проскакивает мысль о том что участвует в конкурсе активно максимум 4 человека, а не общее количество посетителей, но с другой стороны увеличивается количество уникального контента в комментариях, что хорошо для поисковиков и для индексации.

        Как вы начали рекламировать свой конкурс, для привлечения большего количества участников?

        • Юрий Хрипачев написал:

          Я комментировал другие блоги, где проходит такой конкурс, затем организовал его у себя. Люди стали заходить ко мне на блог и комментировать.
          Организуйте конкурс с хорошими призовыми и комментаторы вас найдут.

          • Попробуем!) Комментирование других блогов и так дает свой эффект, даже без конкурса. Люди переходят, читают и оставляют комментарии.

          • Юрий Хрипачев написал:

            Нет, без конкурса совсем не тот эффект, вот увидите.

  • Мне еще нужно наполнить контентом, а потом делать конкурс. Могу только попробовать на другом своем сайте, где прилично контента, и пользователям будет что комментировать.

  • Юрий поставил себе функцию топ комментариев без плагина, но хотел у вас уточнить, как запретить отображение комментов администратора или определенного человека?

    • Юрий Хрипачев написал:

      вот здесь нужно вносить данные:
      exceptionEmail = ‘mail1@dom.ru, mail2@mod.ru’; — вводим e-mail для исключения в комментариях;

      • Это получается что вместо mail1@dom.ru, нужно вставить почтовый ящик пользователя, для его исключения?

        • Юрий Хрипачев написал:

          Да, это все сотрите и то, что нужно напишите.

          • Спасибо, а то мои ответы на комментарии тоже участвуют, еще вдруг 1 место займу)

  • Юрий успешно запретил почтовый ящик, теперь нужно запретить индексацию ссылок в блоке вывода авторов, подскажите куда нужно вставить ссылку?

    • Юрий Хрипачев написал:

      Не понял Антон, какую ссылку? В сайдбаре?

        • Юрий Хрипачев написал:

          $nofollow = false; // ссылки nofollow —- поставьте true и она не будет индексироваться

          • Большое вам спасибо, вся робота с этим плагином закончена) Думаю мои заданные вопросы кому то пригодятся, так как и мне.

  • Когда я установила плагин «Топ комментаторов» (виджет) на одном из блогов, то комментируемость моих записей сразу возросла. И даже без конкурса людям нравится быть в числе лучших, к тому же, их привлекает возможность оставить ссылку на свой сайт.