Топ комментаторов без плагина в 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 без плагина

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

Управление 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

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

Ответить

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