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

скрипт топ комментаторов лучшие комментаторы без плагинов Сайтостроение

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

Мощный SEO плагин Clearfy

В прошлой статье были расписаны настройки плагина для WordPress, который выполняет те же функции, и выводит в сайдбаре блога список топ комментаторов.

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

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

Так выглядит внешне  топ комментаторов, точнее его работа: Скрипт Топ комментаторов. Лучшие комментаторы без плагинов.

У меня на блоге, в сайдбаре Вы можете его видеть. Скрипт имеет все нужные настройки:

  • Можно настроить будут ли отображаться топ комментаторы за месяц или за все время;
  • Нужно ли в скобках показывать количество оставленных автором комментариев;
  • Заключать ли ссылки на сайты авторов в тег «nofollow»;
  • Сколько по количеству отображать комментаторов;
  • Количество колонок с комментаторами;
  • Какой размер аватарок показывать;
  • Какие e-mail адреса исключить из топа (например, Ваш)

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

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


Первое, что нужно сделать, это найти в Вашей теме файл, под названием functions.php (на всякий случай сделайте копию файла, чтобы в случае чего можно было все восстановить) . Открыть его в редакторе . Я настоятельно рекомендую пользоваться текстовым редактором Notepad++, так как он умеет корректно работать с кодом. Перемещаемся в самый низ этого файла, находим закрывающий тег

?>

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

/* комментаторы без плагинов*/
 function top_commentator(){
 global $wpdb;
 $month = false; /* true - за текущий месяц, false - за все время*/
 $comment = true; /* показывать количество комментариев*/
 $nofollow = true; /* ссылки nofollow*/
 $noindex = true; /* ссылки noindex*/
 $count = 6; /* количество комментаторов*/
 $col = 3; /* количество колонок*/
 $avatarSize = 60; // размер аватара
 $exceptionEmail = 'mail@mail.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\.\-_]+)(,? ?)/','"\"\',$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><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 .= "<noindex><a rel='nofollow' target='_blank' href='".$result->comment_author_url."'>".$result->comment_author."</a></noindex>";
 else
 $output .= "<noindex><a rel='nofollow' target='_blank' href='".$result->comment_author_url."'>".$result->comment_author."</a></noindex>";
 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;
 }
?>

В коде, если Вас не устраивают стандартные настройки, пропишите свои (изменяемые настройки выделены оранжевым цветом ).

Теперь нужно открыть файл темы sidebar.php (если Вы хотите вставить топ комментаторов в боковую колонку) в нужное место вставить следующий код:

<?php top_commentator(); ?>

Я, посмотрев как выводятся виджеты в боковой колонке моего шаблона, этот код для своего шаблона прописала немного по-другому, вот так:

<div class="widget">
<h3 class="widgettitle">Лучшие комментаторы</h3>
<?php top_commentator(); ?></div>

Настройка вида скрипта топа комментаторов без плагинов.

И, теперь, для того чтобы вывод топ комментаторов выглядел симпатично, нужно открыть файл style.css, и туда добавить следующий код:

/*top comment*/
 .top-comment {
 height:100%;
 }
 .top-comment table {
 min-height: 100%;
 height:100%;
 border:none;
 }
 .top-comment table td {
 padding:0 5px 15px 5px;
 border:none
 }
 .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 #aaa;
 margin: 0 0 3px 0;
 }
 .top-comment .avatar-comment {
 font-size: 12px;
 display:block;
 line-height:1.25em;
 margin-top:2px;
 width:90px
 }

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

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Авторский блог Светланы Слободенюк
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  1. Юлия

    Написала такой код скрипта:

    function top_commentator(){
    global $wpdb;
    $month = true;
    $comment = 5;
    $nofollow = true;
    $count = 5;
    $col = 2;
    $avatarSize = 40;
    $exceptionEmail = ‘mail@gmail.com’; // galyul@yandex.ru

    Почему-то топ не отражается. Что ему не хватает?

  2. Светлана Слободенюк автор

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

    и посмотрите отобразятся ли комментаторы

  3. Наталья

    я не могу понять в какое место вставлять код в этих папках sidebar.php и style.css

    только что попробовала, сайт закрылся(( хорошо, что папку до этого сохранила, пришлось на хостинг ее заново залить, но в пот пробило хорошо так

  4. Светлана Слободенюк автор

    Только не в папках, а в файлах . В файл style.css код нужно вставлять в самый низ, перед закрывающим тегом: ?>. А в файл sidebar.php код нужно вставить в то место, где Вы хотите чтобы появились комментаторы, обычно они выводятся после всех виджетов. Точно сказать сложно, все зависит от шаблона, который Вы используете. Обязательно делайте копию файлов, чтобы можно было все вернуть наместо.

  5. Наталья

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

  6. Наталья

    Светлана, у меня нет в файле style.css тега ?>
    не могу понять куда же его вставить

  7. Алексей

    А у меня сайт пропал после вставки кодов вернул всё на место-всё равно нету его…Вот делааааааааааа… щас буду ремонтировать…

  8. Алексей

    Блин,лучьше бы не лез в эти коды Придётся теперь тему менять

  9. Светлана Слободенюк автор

    Значит что-то не так вставили, пробуйте ещё. Главное иметь копию файлов .

  10. Светлана Слободенюк автор

    Если не получается с кодом, поставьте плагин, о котором написано здесь: http://svetlanaslobodeniuk.com/plagin-wordpress-top-kommentatorov-top-commentators-widget.html и не мучайтесь.

  11. Алишер

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

  12. Светлана Слободенюк автор

    Алишер, вижу Вы уже решили проблему с авататами . Или речь идет о другом сайте?

  13. Денис Черников

    Спасибо Автору, всё работает отлично!

  14. МихаилUA

    Доброе время суток Светлана.
    За эти 10 дней отпуска с семьёй ,изголодался от информации.
    Сразу с поезда в интернет.
    Заинтересовал Ваш сайт.
    А именно эта статья, (топ комментаторов при помощи скрипта без плагинов).
    Написана подробно.
    Но я сначала попробую плагин для Word Press
    Благодарен

  15. Татьяна

    А в noindex ссылки закрываются?

  16. Светлана Слободенюк автор

    закрываются

  17. Алексей

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

  18. Михаил UA

    Доброе время суток !

    Поздравляю с наступающим Новым Годом 2013 г
    Попробовал плагин для Word Press работает.
    Но правда у меня мало комментариев.

  19. Андрей

    То что надо хотел добавить на свой сайт и чтоб без плагинов. надеюсь будет работать а то и за моей темы созданной в артистере не работают не какие ново введения только плагины. Кстати если у меня плагин комментарии из контакта то такие комментарии тоже будет выводить?

  20. Светлана Слободенюк автор

    Нет, комментарии из контакта выводится не будут, только те, которые оставлены на блоге в форме комментирования.