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

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