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

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

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

Комментарии к посту – это показатель интересности его для читателя, как уникального контента и прекрасный показатель оживлённого блога. Самый популярный способ привлечения комментаторов на блог – сделать его dofollow (наш сайт является таковым). Оставить открытые ссылки в комментариях под именем комментатора. Но есть и другой путь – сделать топ комментаторов.

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

[spoiler name=”Необходимые данныеДля открытия – нажмите“]
Многие пользуются специальным плагин для этого (например: Top Commentators Widget), но не для кого не секрет, что каждый плагин нагружает блог, тем самым раздражает посетителей долгой загрузкой страницы. Но не только в посетителях дело, уже давно поисковики используют время загрузки страницы, как параметр для ранжирования в выдачи. Так что веред к благим целям улучшения ранжирования и повышения поведенческого фактора.

Создаем топ комментаторов

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

Открываем файл functions.php в вашем шаблоне и добавляем код:

function sp_top_commentator(){
    global $wpdb;
    $length = 8;        // Максимальная длинна имени в символах, если стоит 0, то имя не обрезается
    $month = true;     // true - за текущий месяц, false - за все время
    $comment = true;    // показывать количество комментариев
    $nofollow = true;   // ссылки nofollow
    $count = 12;        // количество комментаторов
    $col = 3;       // количество колонок
    $avatarSize = 50;   // размер аватара
    $exceptionEmail = 'info@studio-gost.ru, yoky2003@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\.\-_]+)(,? ?)/','"\\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='obvod-foto'>".get_avatar($result->comment_author_email,$avatarSize)."</div><div class='avatar-comment'>";
        if ($length and $length<mb_strlen($result->comment_author)) $result->comment_author = trim(mb_substr($result->comment_author, 0, $length)).'.';
        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;
}

Теперь вызываем созданную функцию в любом месте блога (например в sidebar.php или в footer.php) следующим кодом:

<?php sp_top_commentator(); ?>

Добавляем стилей к нашему блоку топ комментаторов, вставляем ниже указанный код в файл style.css:

[crayon lang=”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;
}[/crayon]

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

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

Наш блог является dofollow так что милости просим с новыми комментариями.
А так же у нас есть и топ комментаторов в боковой панели. И поэтому у нас стартует с начала Марта ежемесячная акция “Лучший комментатор месяца”. Подробности читайте по ссылке.

[/spoiler]

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

Новые посты

Всплывающая форма входа для wordpress без плагина

Гордеев Игорь

Делаем выравнивание по ширине красивым

Гордеев Игорь

Как сделать спойлер на WordPress без плагина

Гордеев Игорь

41 комментарий

Скептик 07.03.2012 / 08:30

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

Ответить
Кросс 09.03.2012 / 21:05

А так совсем нагрузки не будет что ли?

Ответить
Гордеев Игорь 09.03.2012 / 21:17

Каждый плагин создает нагрузку на сервер, а каждый отказ от плагина снижает эту самую нагрузку.

Ответить
Спонсор 10.03.2012 / 06:32

И в итоге это все равно приведет к спаму…
Сугубо мое личное мнение, но в погоне за ТОПом эти “лучшие” комментаторы легко свалятся до уровня флуда, лишь бы красоваться выше всех…

Ответить
Гордеев Игорь 10.03.2012 / 10:46

А администратор вам на что? Естественно за этим следить надо (флудом и спамом).

Ответить
Mikl 26.03.2012 / 11:43

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

Ответить
Наталья 30.04.2012 / 03:10

Спасибо за урок! Попробую сделать топ комментаторов без плагина.

Ответить
Алишер 09.05.2012 / 14:28

Интересная статья, как раз то что было нужно, правда одна ошибка выходит. Почему-то все аватары изменились, и только мой аватар функционирует а остальные нет. В чем дело? вы не в курсе?

Ответить
Гордеев Игорь 10.05.2012 / 01:15

Точно не знаю, у меня все работает корректно. Посмотрите настройки обсуждения в самом wordpress. Там есть настройки аватаров, может это поможет.

Ответить
Ольга 28.06.2012 / 15:55

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

Ответить
Гордеев Игорь 05.07.2012 / 12:17

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

Ответить
нерадивый бухгалтер 24.07.2012 / 14:38

Вставляю первый код и перестает работать сайт ошибка 500, что это может быть? Буду разбираться, если сможете помочь буду благодарна(

Ответить
Гордеев Игорь 26.07.2012 / 14:38

не в правильном месте вставили код

Ответить
Пётр 04.08.2012 / 02:24

Вы пишете что ваш блог дофолов. Что-то я не заметил этого.

Ответить
Гордеев Игорь 04.08.2012 / 20:39

Петр, да наш блог является таковым, но с недавнего времени внесены некоторые ограничения.

Ответить
intelegent 05.08.2012 / 01:38

Так как пользователь новый, а уже смотри индекс. ссылки или нет. То осмелюсь сделать вывод, что он тут только ради ссылки – Банить его, банить ! 😉

Ответить
Пётр 05.08.2012 / 03:28

На этот блог попал случайно, и не подозревал что он Dofollow. И вопрос задал не просто так – я составляю свой список дофолов блогов, а здесь я сразу не заметил что он такой. Кстати мой блог тоже nofollow free.

А Вас, интелегент, я встречал в топ комментаторов не только здесь. Это у Вас способ заработка такой?

Ответить
Алексей 12.08.2012 / 14:15

Очередной раз пытался установить этот код, на этот раз с Вашей подсказкой…
Выносит сайт, приходится откатывать…
В первой же строке дает ошибку:
Синтаксическая ошибка : синтаксическая ошибка, неожиданный ‘;’, ожидая T_STRING или ‘(‘ в / главная / м / mudrilo / public_html / WP-содержание / темы / modxblog / functions.php на линии 33
Может, для последней версии WP он просто не подходит?

Ответить
Гордеев Игорь 13.08.2012 / 10:50

Дело вовсе не в версии, т.к. на этом сайте все работает на последней версии.
Скорей всего, вы не правильно вставляете данный код в свой шаблон.

Ответить
Алексей 13.08.2012 / 11:35

Как пример, Вашу версию кода копирую и вставляю в самый низ страницы кодов functions.php, перед вопросительным знаком… Пишу свой е-мэйл в нужном месте. сохраняю. Загоняю в корневую. И на этом ВСЕ!!! Сайт намертво блокируется! Больше ничего и никуда поставить невозможно…
Разве как-то по другому надо ставить?
P.S. Игорь, подскажите пожалуйста, каким способом можно установить Вашу версию блока комментариев? Древовидную, с возможностью отменить ответ… Ничего похожего и настолько функционального что-то не нахожу…

Ответить
Гордеев Игорь 13.08.2012 / 14:00

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

Ответить
Мозайка Жизни 24.08.2012 / 15:41

сделал все как сказали пишет ошибка что делать? помогите

Ответить
Гордеев Игорь 24.08.2012 / 16:51

Попробуйте заново вставить функцию. Я ее перепроверил ошибок не нашел, но все равно поменял на код с этого блога. Как можете посмотреть блок на этом блоге работает.

Ответить
Елена Олейникова 21.10.2012 / 11:23

Пробовала сделать ТОП комментаторов с помощью плагина Top commentators widget, но в моем шаблоне он совершенно не смотрится. Попробую-ка теперь без плагина обойтись.

Ответить
Inco 26.10.2012 / 22:55

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

Ответить
Гордеев Игорь 27.10.2012 / 00:07

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

Ответить
Inco 27.10.2012 / 01:23

Попробовал я по вашей инструкции сделать топ, но увы. У меня на сайте два сайдбара, пробовал вставить сначала ничего не появилось, а потом вообще весь шаблон чуть не развалился. Хорошо, что я до этого сделал бэкап, сразу восстановил к прежнему состоянию. С плагином тоже не повезло. Я для себя решил, либо учиться и делать самому если есть время. Либо поручить “знающему дело”. А вообще еще лучше иметь друга фрилансера.

Ответить
Николай 04.11.2012 / 01:22

Вставил все коды без каких-либо осложнений.Спасибо автору за столь полезный материал! И главное – без ПЛАГИНОВ!
Теперь за топ комментаторов должна начаться борьба!

Ответить
Inco 27.11.2012 / 04:13

Поставил код и топ появился, но неравномерно. Расстояние между колонками разное и по ходу оно зависит от длинны подписей под ними, а сами подписи не выравниваются по центру под аватарами. Подскажите ка поправить стиль? Сайдбар шириной 188 пикселей

Ответить
Roman 30.11.2012 / 18:41

Во, как раз это я и искал, спасибо!

Ответить
kotkem 15.04.2013 / 17:28

У меня не действует стиль на аватар. Как решить эту проблему?

Ответить
Гордеев Игорь 18.04.2013 / 15:56

CSS править надо под себя, стили я брал с своего блога. Естественно они всем не подойдут.

Ответить
TOPMAN 16.04.2013 / 11:02

Спасибо больше за данный материал, очень помог 😉

Ответить
Елена 26.04.2013 / 20:06

Доброго времени суток, а вы не подскажите как вывести топ комментариев при помощи скрипта, а не функции?

Ответить
Гордеев Игорь 29.04.2013 / 14:56

Нет, я не знаю.

Ответить
Дмитрий 24.11.2013 / 02:02

Спасибо большое!

Ответить
Vlad 04.02.2014 / 16:22

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

Сколько пытаюсь установить данный скрипт, но каждый раз ничего не выходит!

Ходил по различным блогам, пробовал установки каждого в итоге ничего! Авторы молчат, ничего не знают…

Даже вот шаблон сменил недавно, но увы топ без плагина работать не хочет!

Можете помочь? Заранее благодарен!

Ответить
Гордеев Игорь 16.02.2014 / 11:08

Если столько приложено усилий и ни в какую, то может проще поставить плагин для топ комментаторов?

Ответить
Vlad 07.04.2014 / 22:53

Проблему решил давно, а плагин это не то! =)

Ответить
Денис 02.04.2014 / 05:48

Да, комментарии на блоге очень нужны и важны. Сам с этим стокунлся. Будем пробовать установить.

Ответить
lutyi 10.06.2016 / 00:26

Благодарю за классную инструкцию, все работает, как часики… Уже поставил у себя на блоге, чтоб люди комментировали…

Ответить

Оставить комментарий