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

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


Дополнения: 02,12, 2017

Здравствуйте друзья! На сайте стартует новый конкурс комментаторов!

Несколько слов о прошлых конкурсах!

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

 

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

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

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

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

Это можно сделать двумя способами.

1. Установить плагин WordPress Top commentators widget.

2.Настроить ТОП комментаторов через специальный PHP скрипт

Давайте вкратце пройдемся по обоим способам, разберем плюсы и минусы.

Плагин WordPress Top commentators widget.

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

Так по крайней мере получилось у меня.

Какие основные настройки имеет плагин.

1. Позволяет ввести текстовку перед Топом конкурса комментаторов

2.  Добавить исключенные e-mail адреса, например нужно вписать свой адрес

3.  Настраивается время обнуления счетчиков, но крайне глючно!

4.  Количество отображаемых комментаторов.

5. Регулировка отображения ссылок комментаторов Nofollow и т.п.

6. Остальные настройки относятся к внешнему виду, как отображать комментаторов и какие иконки ставить.

7. Есть настройка выдачи призового значка комментатору после определенного количества комментариев.

Я не стал прилагать скриншот настроек плагина т.к. сейчас его убрал.

Но вы можете по экспериментировать и возможно он вам понравится.

Установка простая и стандартная, вводите в поиске плагинов его название Top commentators widget и устанавливаете в автоматическом режиме.

Если у кого-то есть проблемы с установкой плагинов вот полный мануал по способам установки плагинов на WordPress

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

 

Это тот способ, который использую я.

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

Установка довольно простая, но нужно иметь хотя бы элементарные навыки работы с кодом.

Править нужно файл functions.php и добавлять в него следующий код

Код для вставки в файл functions.php для ТОП комментаторов.

function sp_top_commentator_winners(){
    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'; // мыла-исключения

    $showWinners = true;    // показывать победителей
    $countWinners = 3;  // количество победителей
    $showDays = 3;      // количество дней, которое показываются победители
    $separator = '<hr style="display:block;">'; // разделитель ТОПа и победителей

    $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
    );

    $firstIteration = true; // отвечает за то чтобы было всего две итерации
    do {
        $output = "<div class='top-comment'><table width='100%'><tr>";
        $i = 0;
        foreach($results as $result){
            if ($i>=$col) {
                $output .= "</tr><tr>";
                $i = 0;
            }
            $i++;
            $output .= "<td><div class='avatar-top'>".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;
        if ($showWinners and date('j') <= $showDays and $firstIteration) {
            $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).') AND
                    month(comment_date) = month(now() - interval 1 month)
                GROUP BY
                    comment_author_email
                ORDER BY
                    comments_count DESC
                LIMIT '.$countWinners
            );
            echo $separator;
            $firstIteration = false;
        } else {
            $showWinners = false;
        }
    } while($showWinners);
}

 

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

Советую настроить систему правки файлов темы как я описывал в этом посте.

Код вставляем после открывающего тега

top kommentator2

Затем сохраняем файл functions.php и закачиваем его на сервер.

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

Обратит внимание на первые строчки кода, там есть своеобразная панель настройки Вашего ТОП комментаторов.

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

Все визуально понятно, подставьте свои значения.

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

Для этого создайте новый выждет и ставьте туда вот этот код.

<?php sp_top_commentator_winners(); ?>

 

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

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

Открываем файл стилей Вашей темы и добавляем туда следующий код.

.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:1em;margin-top:1px;width:50px}

 

Вот и все Ваша доска ТОП-комментаторов настроена и уже работает.

Желаю вам активных комментаторов на блоге.

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

И я предлагаю поделиться своими в комментариях к этому посту.

И в конце о своем конкурсе комментаторов.

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

1. место clip_image002 Kali  призовые 500 рублей

2. место clip_image004Денис призовые 300 рублей

3 место clip_image006 Али Ткалехс призовые 200 рублей

4. место clip_image008Мозгунова Ирина призовые 100 рублей

5. место clip_image010 Сергей Москвитин призовые 100 рублей.

Победителей прошу обратится в поддержку //support.dvdkurs.info для выплаты призовых денег.

Ну а сегодня начинает старт новый февральский этап конкурса комментаторов.

Итоги подведем первого марта, Символично в первый день весны.

Для участников вводится новое обязательное правило.

При комментировании статьи, Вы сначала, ОБЯЗАТЕЛЬНО должны сделать ее рекомендацию в любую из соц.-сетей. Кнопки Вы видите в конце каждой из социалок.

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

Рекомендовать нужно только один раз для одной статьи.

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

Я понимаю, что это довольно жесткое требование, но я принял такое решение. Все, надеюсь, понимают для чего!

 

Ну что-ж на этом прощаюсь и хочу еще раз поблагодарить всех участников конкурса!

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


Вы прочитали мою статью " Новости конкурс комментаторов. Как сделать Топ комментаторов без плагина."  Хотел бы прочитать Ваше мнение в комментариях.
И конечно же буду ОЧЕНЬ признателен Вам за рекомендацию в Ваших социальных аккаунтах!

Стоит обратить внимание на эти материалы!

Да, Я Хочу Быть В Курсе Новых Событий На Сайте!

Подпишитесь прямо сейчас, и получайте обновления на свой E-Mail:

Ваш E-Mail в безопасности


Подарки за первый комментарий на сайте Подарки за первый комментарии на нашем сайте:
За первый комментарий на нашем сайте мы дарим полезные подарки, плюс участие в конкурсе комментаторов с денежными призами
Объявления! 49р. размещение
Поиск по сайту
Обрати внимание!