Получайте секретные материалы проекта на свой E-Mail:

ТОП комментаторов быстро и без плагина

Здравствуйте, глубокоуважаемые читатели SeoKos.ru! В данной статье я научу Вас как делать топ комментаторов без плагина. Конечно для этого существует множество различных плагинов, но мы же знаем, что плагины затормаживают работоспособность блога... поэтому обойдемся без них, с помощью специального кода.Топ комментаторов без плагина

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

Пользуюсь этим способом довольно таки давно и меня все устраивает. Как-то давно, месяца три назад, я хотел написать про вывод комментаторов с помощью кода, но думал что тема уже разжевана и информация будет не новой. Но все же, сегодня мне на почту написал один человек, который попросил объяснить каким и с помощью какого плагина я сделал такой топ? Именно этот вопрос и стал толчком к написанию данного коротенького поста.ТОП комментаторов

Топ комментаторов

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

Сейчас мы будем редактировать три файла, находящихся у Вас на хостинге. Для этого заходим в любой ftp-менеджер (я рекомендую FileZilla) и открыть поочередно файлы functions.phpstyle.css и тот файл, где будет отображаться топ комментаторов, например footer.php. Программу для открытия этих файлов я рекомендую Notepad++ о ней я писал здесь.

Внимание: перед тем, как редактировать эти файлы рекомендую сделать их копии! Чтобы, если что-то пойдет не так — Вы могли вернуть все на место!

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

// топ комментаторов
function top_commentator(){
global $wpdb;
$month = true; // true - за текущий месяц, false - за все время
$comment = true; // показывать количество комментариев
$nofollow = true; // ссылки nofollow
$count = 6; // количество комментаторов
$col = 3; // количество колонок
$avatarSize = 50; // размер аватара
$exceptionEmail = 'blogger@seokos.ru, admin@seokos.ru'; // мыло-исключение, например Ваше
$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 = "<div class='top-comment'><table width='100%'><tr align='center' valign='top'>";
$i = 0;
foreach($results as $result){
if ($i>=$col) {
$output .= "</tr><tr align='center' valign='top'>";
$i = 0;
}
$i++;
$output .= "<td><div class='avatar-top'>".get_avatar($result->comment_author_email,$avatarSize)."</div><div class='avatar-comment'>";
if ($result->comment_author_url)
if ($nofollow)
$output .= "<a target='_blank' rel='nofollow' href='".$result->comment_author_url."'>".$result->comment_author."</a>";
else
$output .= "<a target='_blank' href='".$result->comment_author_url."'>".$result->comment_author."</a>";
else
$output .= $result->comment_author;
if ($comment) $output .= " (".$result->comments_count.")";
$output .= "<div style='clear:both;'></div></div></td>";
}
if ($i<=$col) $output .= "</tr>";
$output .= "</table></div>";
echo $output;
}
// топ комментаторов

Только, естественно, ставите свои значения и меняете e-mail исключение. Все значения описаны, поэтому трудностей возникнуть не должно!

Далее переходим в файл style.css и в самом конце вписываем следующие:

.top-comment {
height:100%;
}
 
.top-comment table {
min-height: 100%;
height:100%;
}
 
.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;
}

В принципе после вставки именно этого оформления, то дизайн топ-комментаторов должен быть симпатичен и удобен, должен понравится каждому блоггеру. Но мало ли, вкусы у всех разные, поэтому можете изменить значения на свои. Если Вы плохо разбираетесь в css, можете воспользоваться дополнение к браузеру Firefox - firebug. Благодаря данному расширению можно без всякого труда «ковыряться» в структуре Вашего сайта, в том числе и в CSS.

Далее необходимо определиться с местом где будет отображаться топ комментаторов и вставить его туда! Если Вы хотите, чтобы он отображался в подвале (внизу) блога, то вставьте код ниже в файл footer.php. Если хотите в сайдбаре (боковой колонке), то вставьте код в файл sidebar.php. А код нужно вставлять следующий:

<noindex><?php top_commentator(); ?></noindex>

После чего все это сохраняем, переходим на сайт и радуемся! И видим, что в этом нет ничего сложно, все прекрасно работает. У нас получилось! Если же что-то не так, напишите мне в комментариях, буду рад помочь!

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

Всем спасибо за внимание! До свидания!

Для мотивации...

С уважением, Томский школьник!

автор блога SeoKos.RU

Белан Константин Сергеевич

С уважением, Константин Белан.

Рабочая 634570 Россия, Томская обл., г. Томск, +7 952 160 36 17
Сделайте мне приятно - нажмите на любую из кнопок:
Подпишитесь на рассылку блога и получайте новые статьи на свою почту
Количество комментариев к данной статье: 70
  1. Теперь Константин, я лидер твоего ТОПа навсегда, благодаря картинке в статье. Между прочим сегодня ставил себе ТОП-комментаторов, только информацию брал на другом Блоге.

    • Александр, Я надеюсь ты и так всегда будешь лидером ТОПа.

  2. Не в тему:

    Может кто знает, как сделать, так чтобы название блога в шапке не отображалось, а в заголовке отображалась.

    Например, как у тебя:

    ТОП комментаторов быстро и без плагина | Блог томского школьника в роли вебмастера

    а название Блог томского школьника в роли вебмастера в шапке не отображается.

    • Gorec, Это делается в настройках плагина All in One SEO в строках:

      1. «Формат заголовка записи:» нужно прописать следующие %post_title% | %blog_title%

      2. «Формат заголовка рубрики:» нужно прописать %category_title% | %blog_title%

      3. «Формат заголовка архива:» прописать %date% | %blog_title%

      4. «Формат заголовка метки:» прописать %tag% | %blog_title%

      5. «Формат заголовка страницы поиска:» прописать %search% | %blog_title%

      Вот и все! Теперь в статьях, страницах, рубриках и архивах в заголовках будет отображаться сначала название статьи, а потом название блога!

  3. admin:

    Gorec, Это делается в настройках плагина All in One SEO в строках: 1. «Формат заголовка записи:» нужно прописать следующие %post_title% | %blog_title% 2. «Формат заголовка рубрики:» нужно прописать %category_title% | %blog_title%3. «Формат заголовка архива:» прописать %date% | %blog_title%4. «Формат заголовка метки:» прописать %tag% | %blog_title%5. «Формат заголовка страницы поиска:» прописать %search% | %blog_title%Вот и все! Теперь в статьях, страницах, рубриках и архивах в заголовках будет отображаться сначала название статьи, а потом название блога!

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

    • Gorec, Не должно в шапке ничего отображаться! Напишите мне в форму обратной связи: создайте тестовый пользователь и скиньте мне логин с паролем. Я гляну!

  4. Ответить

    Привет, Константин! От себя добавлю, что в этом плагине элемент %blog_title% лучше не ставить — так будет меньше знаков в заголовке страницы, а значит он будет лучше релевантен, чем с названием блога.

  5. Зашел к себе на Блог, а там кирдык, ТОП-комментаторов исчез. Я даже полез код посмотреть, может что потерялось. А оказывается первое число уже. Поэтому всех с наступившей весной.

    • Александр, Да. Происходит это каждый месяц 1-ого, поэтому не переживай. С первым днем весны Всех, дорогие читатели!

  6. Ответить

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

    • Ирина Юр, Можете менять в зависимости от Ваших интересов. Визуальные изменения настраиваются в файле style.css. Принцип размещения везде один!

  7. Ответить

    Константин, прошу прощения, невнимательно прочитала пост. Вредная привычка, читать «по диагонали»...Вопросы сняты! 😎

  8. Ответить

    Несомненно это отличный способ вывести ТОП комментаторов, но у меня не получилось с первого раза через код его встроить. Сайт буквально исчез на глазах 😕 Буду экспериментировать дальше. Правильно вы предупредили, что обязательно надо делать копии файлов, да и про бэкап базы не забывайте.

  9. Спасибо за инфо! то, что надо мне.

  10. Для тех кто не понимает ничего в техническом плане, всё-таки будет лучше установить плагин.

  11. Надо смотреть ище какая у вас тема то есть Шаблон. С каждой темой свой геморрой будет.

  12. Ответить

    У меня тоже через код установлен и все норм. работает)

  13. Ответить

    Приветствую! А какой смысл закрывать код для сайтбара noindex, если в основном коде стоит закрытие всех ссылок nofollow.

    • Артем, Здравствуйте! Код nofollow в основном коде работает не во всех темах, поэтому лучше перестраховаться и добавить еще код для сайдбара!

  14. спасибо!так подробно и понятно весь процесс теперь уже точно сделаю у себя на блоге ТОП

  15. А как сделать, чтобы сам автор не отображался?

  16. Ответить

    Нужно в строке $exceptionEmail прописать свою основную адрес электронной почты, которая прописана в настройках блога. Можно любые адреса прописать и они не будут отображаться

  17. Ответить

    Для начинающих плагин легче и проще установить. И вопрос. Где найти учебник, который научит разбираться в таких вопросах?

    • Вера, В Интернете полно ресурсов посвященных этому вопросу. Например htmlbook.ru

  18. Здравствуйте! У меня почему-то не получается. Помогите пожалуйста.

  19. В будущем думаю понадобиться для блога)

  20. Несомненно это отличный способ вывести ТОП комментаторов,но для начинающих плагин легче и проще установить,на мои взгляд.

  21. Ответить

    Здравствуйте!

    Что-то данный скрипт у меня работает некорректно! И это я уже не первый пробую!

    После добавления кода в functions.php на блоге настает хаос!

    Не могли бы вы помочь? Может несовместимость с шаблоном какае-то?

    • Ответить

      Хаос настает, когда при вставке кода удаляется вот такой знак — ?>

      Код надо вставлять до него, если он есть конечно, а так от шаблона многое зависит. Хотя у меня стоял на трех абсолютно разных темах и работал.

      • Ответить

        Спасибо, Артем!

        Топ я уже установил давно, а ваш комментарий увидел только сегодня... 😉

        Возможно немного с помощью другого скрипта, но в целом все так...

        До этого я пробовал на разных блогах и результата не было (код ставился перед ?>), но с этого блога я возможно это и не учел...

  22. Вставил эти 3 кода, но топ комментаторы так и не появились. Затем добавил еще в функтион.пхп еще один код и все заработало. Спасибо! 💡

  23. Ничего не понял с FileZilla и Notepad++. Подключился по ftp и что дальше? Сначала говорите открыть это всё с FileZilla, после чего строчка "Рекомендую открывать с Notepad++'' Новичкам это вряд ли будет понятно. Если написали что нужно пользоваться этими программами, то и описывайте тогда как ими пользоваться. Хотел сделать топ без плагина, в итоге ступор.

    • Ответить

      На самом деле, никакие дополнительные программы не понадобятся... Все действия можно делать из админпанели Вордпресс. Копируете первый код в файл functions.php, код стилей — в файл style.css, а код вывода топа в сайтбар, ну или в любое место на сайте...

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

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

      • Спасибо, Артём.

        • Ответить

          Не за что, рад оказаться полезным...

  24. Ответить

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

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

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

    • Ответить

      Вера, здравствуйте! Попробуйте прописать в интернете следующий поисковой запрос «Хаки WordPress — делаем стилизованный аватар для Человека-загадка». После установки не сложного кода, вместо пустых квадратов появится аватар для не зарегистрированных посетителей в сервисе граватар.

      • Ответить

        Спасибо за ответ 🙂

        Пока я его ждала, уже сама докопалась до истины. И она намного проще, чем Вы думаете. В админке ВП «Параметры» — «Обсуждение» — «Аватар по умолчанию»

        • Ответить

          Здравствуйте, Вера!

          Зашел к вам на блог, увидел проблему в Топе и захотел помочь, а потом прочитал все комменты — вы и так уже сами разобрались... 😳

          Хотя, в Топе все равно висят серые квадратики... 😮

          Поставьте каких-то монстриков 😉

  25. Ответить

    Константин, здравствуйте! Небольшая рекомендация к ведению блога. Установите толковый плагин для отображения php-кода в статьях. После вставки скопированного кода, пришлось его редактировать. Не очень удобно для посетителя дорабатывать за автора.

  26. эхх все не как это не сделаю себе топ- комментаторов выдумал я себе блог который сложновато переделывать))

    • Ответить

      Сергей, я же предлагал вам помощь 🙁

      • Я знаю Влад спасибо, ну там есть кое кокая проблема с начала мне её надо решить 🙂

        • Ответить

          Ага, закрытие ссылок 😐

          Так в чем застой 😳 ?

  27. Застоя нет я просто сейчас другим занят)

    • Ответить

      Удачи 😉

      • Спасибо Влад тебе тоже!

        • Ответить

          Ага, спасибо 😐

  28. когда мой блог так скажем «подрастёт»,буду устанавливать себе такой хак интересно красиво и безболезненно 😡 но пока блог еще молодой буду заниматься раскруткой

  29. Ответить

    Спасибо за информацию. Тоже хочу сделать вывод топ комментариеф кодом, а не плагином, чтобы не нагружать сервер

  30. Здравствуйте!

    Подскажите, как же сделать так, чтобы этот рейтинг комментаторов обновлялся не раз в месяц, а ра в неделю, например?

  31. Константин приветствую. Все сделал по инструкции, но почему-то виджет вообще не отображается...

    • Ты непосредственно в виджет вставляешь код?

      • Этот код в виджет вставляю

        • Тогда попробуй еще вставить следующий код в файл functions.php:

          add_filter ('widget_text','sp_widget_execute_php',100);

          function sp_widget_execute_php ($text) {

          if (strpos ($text,'< ?') !== false) {

          ob_start ();

          eval ('?>'.$text);

          $text = ob_get_contents ();

          ob_end_clean ();

          }

          return $text;

          }

          • Ок, спасибо! Сейчас попробую...

  32. Ответить

    Вопрос собственно такой — как вывести например 10 блоков ТОП комментаторов с чужих блогов?

    Допустим я участвую в конкурсах ТОП комментаторов на 10 сайтах. Хотел бы у себя в публикации показывать реальные позиции этих конкурсов на момент прочтения статьи. Можно ли подобное организовать — или нужно просто писать скрипт парсинга?

  33. Ответить

    Пожалуй, и я себе попробую такой виджет установить. Давно собираюсь, но уж очень боюсь правками кода заниматься. Бывало, что что-то шло не так и сайт пропадал. Хорошо, что копиями файлов запасаюсь всегда.

  34. Спасибо за информацию, взял на заметку!

  35. Ответить

    Добрый день! Целый месяц работал топ комментаторов, внедрённый с помощью кода, установленного по описанию в данной статье. А сегодня после правки новой статьи на блоге и чистки резервных копий статей при помощи плагина Delete revision сегодня утром пропал! В чём может быть причина?

  36. Ответить

    Начался новый месяц и статистика возможно обновилась... =)

    Или он полностью пропал?

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

    • Ответить

      Здравствуйте! Вам помочь?

      • Был бы очень признателен!

        • Ответить

          Написал вам через обратную связь.

          • Большое спасибо, всё заработало!

  38. Вопрос, если заменить строку:

    $output .= «comment_author_url.»'>".$result->comment_author."«;

    из functions.php

    на

    $output .= „comment_author_url.“'>».$result->comment_author."";

    Будет ли так лучше для поисковых систем?

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

    shot.qip.ru/00cmpU-6I0RrekhE/

  40. Ответить

    Скрипт замечательный, и я его вставил, только у меня вопрос, как сделать чтобы ссылки не выводились. Я не имею в виду noindex и noffolow, это не серьёзно. Я имею в виду, чтобы при наведении мышкой, вообще не показывалась не какая ссылка?