Зарабатывай со мной
Profit Partner – Есть хороший сайт, тогда добавляй его сюда быстрей
Nolix – Рекламная строчка, которая может приносить хороший доход
Ротабан – Размещай баннеры у себя на сайте и зарабатывай
Продвигайся со мной

Форумок – лучший сервис по покупке лайков, твитов, google+

GoGetlinks – покупка качественных ссылок с ТИЦ от 10

Ротапост – качественные вечные ссылки для ваших сайтов

Нужен топ комментаторов – сейчас зафигарим

Всем по привету друзья! Я не выспавшийся, но всё таки пишу пост.

Топ комментаторов без плагина – Вот такую вещицу мы сегодня с вами и разберём. Да-да, никакого плагина и дополнительной нагрузки на сервер.

топ комментаторов без плагина

Давненько я уже писал, как сделать такой топ, но только с использованием одного замечательного плагинчика.

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

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

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

И так, я установил топ комментаторов без плагина в футер и вот как он у меня выглядит. Симпатично, не правда ли?

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

Настройки топа комментаторов

Для начала я вам покажу на скриншоте, какие настройки есть и как они настроены у меня. Ну погнали чтоли, потихонечку:

Настройки топа комментаторов

  • Максимальная длинна имени – У меня стоит цифра 5, потому что бывает при отправке коммента, в поле «Имя» вписывают ещё фамилию и отчество и получается не айс.
  • За какой период отображать комменты – Я выбрал переменную «true», чтобы отображались комментаторы месяца.
  • Показывать количество комментариев – Оставляем без изменений этот пункт.
  • Ссылки nofollow – Закрытие ссылок от индексации. Здесь тоже ничего не меняем. Вроде бы этот пункт должен беспокоить, но у меня стоит супер плагин и не пропустит ссылки, так что я спокоен.
  • Количество комментаторов – Я поставил цифру 6, ну тут уже личное дело каждого. Как говорится «иметь или не иметь».
  • Количество колонок – Опять же решать только вам.
  • Мыла-исключения – В эту строку вписывайте емайлы тех людей, которые не должны отображаться в топе. Я естественно вписал своё мыло, а то иначе я буду всегда на первом месте.

Вот в принципе и все настройки, хотя их вполне и достаточно.

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

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

И вообще я надеюсь что вы не забываете делать бэкап сайта. Напоминаю в очередной раз, что это очень и очень важно.

Открываем файл functions.php и вставляем в него ниже приведённый код. Код нужно вставить в самый верх файла, но только после открывающего тега «<?php». Будьте внимательны. Так же не забываем сохранить настройки.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 function sp_top_commentator( ) { global $wpdb ; $length = 0 ; // Максимальная длинна имени в символах, если стоит 0, то имя не обрезается $month = false ; // true - за текущий месяц, false - за все время $comment = true ; // показывать количество комментариев $nofollow = true ; // ссылки nofollow $count = 12 ; // количество комментаторов $col = 3 ; // количество колонок $avatarSize = 40 ; // размер аватара $exceptionEmail = 'mail1@dom.ru, mail2@mod.ru' ; // мыла-исключения $results = $wpdb -&gt;get_results( '
 SELECT
 COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url
 FROM
 (select * from ' . $wpdb -&gt;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 &gt;= $col ) { $output .= "</tr><tr align='center' valign='top'>" ; $i = 0 ; } $i ++; $output .= "<td><div class='avatar-top'>" .get_avatar( $result -&gt;comment_author_email, $avatarSize ) . "</div><div class='avatar-comment'>" ; if ( $length and $length &lt;mb_strlen( $result -&gt;comment_author) ) $result -&gt;comment_author = trim ( mb_substr ( $result -&gt;comment_author, 0 , $length ) ) . '.' ; if ( $result -&gt;comment_author_url) if ( $nofollow ) $output .= "<a target='_blank' rel='nofollow' href='" . $result -&gt;comment_author_url. "'>" . $result -&gt;comment_author. "</a>" ; else $output .= "<a target='_blank' href='" . $result -&gt;comment_author_url. "'>" . $result -&gt;comment_author. "</a>" ; else $output .= $result -&gt;comment_author;
 
 if ( $comment ) $output .= "(" . $result -&gt;comments_count. ")" ; $output .= "<div style='clear:both;'></div></div></td>" ; } if ( $i &lt;= $col ) $output .= "</tr>" ; $output .= "</table></div>" ; echo $output ; } 

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

Далее открываем файл style.css и сейчас сюда нам нужно вставить стили, для того чтобы у нас всё выглядело красиво и аккуратно. Лично я каждые новые стили вставляю в самый конец.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 /*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 } 

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

Третий шаг и предпоследний. Нам надо разместить малюсенький код который отвечает именно за вывод самого блока с топом комментаторов.

1
 <!--?php sp_top_commentator( ) ;?--> 

Если вы хотите вывести это блок в сайдбаре (боковой панели), то вам нужно открыть файл sidebar.php и в нужное место поместить код.

Если вы хотите вывести этот блок также как и я в футере (в подвале), то вам нужно открыть файл footer.php и в нужное место поместить код.

Последний штрих который остаётся сделать – перезалить изменённые файлы на хостинге. А то ведь работать ничего не будет.

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

Ну что друзья, теперь вы знаете как сделать топ комментаторов без плагина на своём сайте. До встречи.

На связи с вами был, Олег Вьяльцов .

Понравился пост? Так подписывайся, чего ты ждёшь?!

Блоггер





  1. 24 Авг 2012 из 17:33 | #1

    Спасибо!как раз то, что искал!!!

  2. 01 Окт 2012 из 2:00 | #2

    Пользуюсь данным скриптом, а как сделать чтобы на первое число когда еще нет ни одного комментария надпись появлялась, например «Будь первым»?

  3. 08 Окт 2012 из 10:36 | #4

    К сожалению не получилось заюзать эту фишку…
    Пишет что ошибка в этой строке: «$results = $wpdb->get_results(‘». ну да ладно. Обойдемся без него! :(

    • Олег
      11 Окт 2012 из 8:40 | #5

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

  4. Юлия
    09 Янв 2013 из 0:38 | #6

    Извините, а нельзя ли уточнить, куда именно вставлять первый код?! Понятие «вставить в самый верх файла, но только после открывающего тега «<?php»"
    довольно растяжимо для "чайника", по крайней мере, я не разобралась… :( Шаблон корректно не сохраняется!

  5. Юлия
    09 Янв 2013 из 13:43 | #7

    Разобралась, уже, правда вашим вариантом так и не воспользовалась — проблемы была в том, что, при копировании ваш код вставляется сплошным текстом (шаблон не сохраняется правильно). Ставить переносы было лень…

    • Олег
      22 Янв 2013 из 6:01 | #8

      Отлично, что сами поняли в чём проблема. Главное, что сейчас у вас всё работает.

  1. Трекбеков пока нет.