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

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

Хотите узнать как заработать в Интернете?
Скачайте бесплатную книгу моего бизнес-тренера Владислава Челпаченко
==>>>        «10 шагов к первому миллиону в инфобизнесе».

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

Всем привет! Пишу незапланированный пост «по горячим следам». Только так можно не забыть ничего и не откладывать написание статьи на потом.

По исследованиям  американских учёных знания, не применяемые сразу в течение 72 часов, теряются, то есть за три дня память человеческая забывает, и надо заново изучать вопрос.

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

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

Вывод ТОПа комментаторов в сайдбар блога

В связи с тем, что провожу новогодний конкурс комментариев на своём блоге, потребовалось вывести ТОП комментаторов. Про важность комментариев на блоге читайте в статье «Комментарии на сайте. Как получить приз к Рождеству».

Как известно, существует специально для этого написанный  плагин применительно к  WordPress блогам  — плагин Top Commentators Widget.  У меня блог на Вордпрессе, но использование плагинов нагружает блог, хотя плагин Top Commentators Widget нельзя назвать объёмным.

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

А в ТОП Яндекса и Google любому блогеру необходимо стремиться попасть, ведь не для себя же он пишет. Ранее я писал, как влияет тИЦ вашего блога на ранжирование поисковиком Яндекс.

Установка виджета ТОП комментариев  без плагина

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

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

В результате своих Интернет поисков нашёл решение у блогера SEOлётика. SEOлётик в трёх своих статьях предложил собственные коды для ТОПа комментаторов, ТОПа комментаторов с отдельным выводом победителей в конкурсах комментаторов, преобразования и перехвата php кода для возможности использования виджета «Текст» в WopdPress.

Для себя я объединил некоторые элементы кодов, поставил виджет с php кодом в сайдбар в то место, где удобно.

Как вставить код виджета ТОП комментаторов блога для WordPress без плагина

Для вставки основного кода переходим в административную панель блога. Выбираем Внешний вид/Редактор/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 = 'ingenerhvostov@gmail.com, mail2@mail.ru'; // email-исключения
    $lengthMin = 10;    // минимальное количество символов в учитываемом комментарии

    $showWinners = true;    // показывать победителей
    $countWinners = 3;  // количество победителей
    $showDays = 10;      // количество дней, которое показываются победители
    $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.' where CHAR_LENGTH(comment_content) > '. $lengthMin .' 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('/([wd.-_]+@[wd.-_]+)(,? ?)/','"\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,
            comment_ID ASC
        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.' where CHAR_LENGTH(comment_content) > '. $lengthMin .' 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('/([wd.-_]+@[wd.-_]+)(,? ?)/','"\1"\2',$exceptionEmail).') AND
                    comment_date > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) AND 
                    comment_date < DATE_ADD(LAST_DAY(CURDATE() - INTERVAL 1 MONTH), INTERVAL 1 DAY)
                GROUP BY
                    comment_author_email
                ORDER BY
                    comments_count DESC,
                    comment_ID ASC
                LIMIT '.$countWinners
            );
            echo $separator;
            $firstIteration = false;
        } else {
            $showWinners = false;
        }
    } while($showWinners);
}

 

В основном коде необходимо поставить ваши настройки. У меня стоит true – то есть показывать победителей за месяц, количество дней, которое показываются победители – 10, количество победителей – 3,  email-исключения — ingenerhvostov@gmail.com (вам надо поставить свой ящик электронной почты).

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

Со стилями CSS не стал ничего менять, хотя можно сделать обводку и закругление аватарок.

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

ТОП комментаторов для wordpress без плагина

Перетащил виджет «Текст» вправо, назвал его «ТОП комментаторов» и прописал туда следующий php  код:

<noindex><?php sp_top_commentator_winners(); ?></noindex>

Результат работы можете увидеть справа в сайдбаре. Если решите, что сайдбар уже переполнен информацией,  можно перенести из сайдбара ТОП комментариев в подвал (футер) блога footer.php.

Оцените статью
Статьи, приносящие деньги
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  1. Григорий

    Очень кстати ваша статья, Андрей! Сейчас сообщу о ней Ивану Семёновичу, он очень интересуется этой темой — именно не плагин. а код!

    Хорошо, что я читаю ваш блог 😉

    Ответить
  2. Григорий

    А хотя, почему только Иван Семёновичу? Буду рекомендовать этот материал всем читателям моих блогов/микроблогов/сообществ — среди них почти все блоггеры так или иначе на WP!

    Ответить
  3. Иван

    Спасибо Григорию, он мне сообщил о возможности установки блока «Топ комментаторов» без плагина. Чтобы не портить статистику, проведу до конца конкурс комментаторов, а затем пойду Андрей по Вашему пути, посталю блок без плагина.

    Ответить
  4. Владимир Манеров

    Я вообще считаю, что все нужно делать без плагинов. Ведь любой плагин это лишняя нагрузка на сайт. Тут правда есть свое НО, не всё возможно осуществить посредством кода.

    Ответить
    1. Раньше было 40 плагинов, когда только начинал вести блог. После работы с оптимизатором Петром Александровым оставили 12 необходимых плагинов. Некоторые плагины перевели в код.

      Ответить
    2. Анютка Незабудка

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

      Ответить
  5. Иван Кунпан

    Вы правы Владимир! Есть с десяток плагинов, без которых просто не обойтись. Если есть вариант реализации какой-то функции без плагина, то это надо реализовывать.

    Ответить
  6. Владимир Манеров

    Я вот счас хочу отказаться от плагинов рейтинга и количества просмотров страниц. И перевести их в код. Уж больно они долго грузятся по 1сек(((

    Ответить
    1. Да, лишние плагины ни к чему.

      Ответить
  7. Aleksandr

    Хорошая инструкция, нужно будет попробовать сделать для своего блога, в скором времени тоже хочу конкурс сделать!

    Ответить
    1. Александр! Если сложность в установке кода, спрашивайте. Будем разбираться.

      Ответить
      1. Александр

        Сложности в установке кода я не вижу. К тому-же решение вывода ТОП-комментаторов без плагина, по идее меньшую нагрузку на сайт несет. А соответственно, сайт быстрее работает, и нет необходимости заказывать более дорогой тариф хостинга.

        Ответить
        1. Анютка Незабудка

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

          Ответить
  8. Иван Кунпан

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

    Ответить
    1. Надо постоянно улучшать блог и перевод плагинов в код — это плюс блогеру.

      Ответить
      1. Анютка Незабудка

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

        Ответить
        1. Aleksandr

          По большому счёту плагин это тот же код и код тоже несет свою нагрузку!

          Ответить
  9. Владимир Манеров

    Иван, я считаю, что все блогеры просто обязаны выучить основы, это HTML и CSS

    Ответить
    1. Александр

      А после, сразу же приступать к изучению основ SEO, если нет бюджета на продвижение.

      Ответить
  10. Aleksandr

    Я сейчас только начал настраивать новый блог, так что если будут вопросы напишу!

    Ответить
    1. Хорошо, Александр! Много своих блогов / микроблогов?

      Ответить
  11. Иван Кунпан

    Насчет HTML и CSS. Выучить это будет хорошо, всегда пригодится, но есть одно но. Чтобы все эти знания получить и применить, нужно время, а когда заниматься инфопродуктами, подписными и продающими страницами, когда проводить вебинары, заниматься YouTube? Объять необъятное невозможно. Поэтому, все зависит от целей — если вести только блог, заниматься сайтостроением, то да. Если цель зарабатывать, то проще проблему решить на фрилансе, а самому сконцентрироваться на вопросах заработка, Инфобизнеса.

    Ответить
    1. Это вопрос грамотного делегирования, так как инфобизнесмен просто вязнет в тонкостях технических и не хватает времени и сил на главное — заработок в Интернете + на предоставление знаний, полезного контента.

      Ответить
    2. Анютка Незабудка

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

      Ответить
      1. Есть верстальщик и вебмастер, специализирующийся на SEO оптимизации.

        Ответить
        1. Aleksandr

          Андрей, а сео оптимизация это переписка всех статей или как я вот этого еще не понимаю до конца, есть небольшой бюджет и готов поработать в рассрочку, хочется продвигать блог по немного

          Ответить
          1. Александр, если статьи не в ТОП 50, то их можно переделать (переписать немного добавив ключевых слов) и втянуть в ТОП 50. А потом продолжать писать статьи и через некоторое время переделанные статьи могут попасть в Топ 30, а это уже хорошо.

      2. Aleksandr

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

        Ответить
  12. Иван Кунпан

    Если инфобизнесмен будет всем этим заниматься, он не будет инфобизнесменом — ему некогда будет зарабатывать. Надо действительно многие работы делегировать.

    Ответить
    1. Так и есть, Иван. Всё как у Козьмы Пруткова: «Нельзя объять — необъятное».

      Ответить
    2. Анютка Незабудка

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

      Ответить
      1. Aleksandr

        Учится тоже нужно, методом проб сможете в итоге своим читателям помагать, а это будет большой плюс в вашу сторону

        Ответить
  13. Иван Кунпан

    Поэтому и надо золотую середину искать.

    Ответить
  14. Aleksandr

    Кто подскажет как настроить топ комментариев к Дискусу!?

    Ответить
    1. Дискусом не пользовался.

      Ответить
  15. Aleksandr

    А в планах испробовать нет!? Хотелось бы статью об этом у вас прочитать!

    Ответить
  16. Aleksandr

    Так что лучше убрать Дискус!? Просто не хочется чтобы из-за клиентов сложились реплитукомы!

    Ответить
    1. Если есть не одно, а два-три решения задачи, то они имеют право на жизнь. Просто надо выбрать, что более приемлемо для конкретного человека, конкретного техзадания.

      Ответить
      1. Aleksandr

        От дискурса отказался, забывают спросить вы ещё пробовали писать комментарии у меня, несколько раз уже все проверил и все нормально,не пойму в чем проблема

        Ответить
        1. Я пробовал только два раза.

          Ответить
        2. В двух разных браузерах вводил, но не смог сделать комментарий. Пишет система: «Введите данные в указанном формате».

          Ответить
          1. Анютка Незабудка

            Мне часто попадаются сайты где комментарий написать проблема. Про сложную капчу я вообще промолчу, не люблю ее ужасно. И даже после того как ее введешь, все равно комментарий отправить не возможно — высвечивается такая же фраза.

          2. Aleksandr

            Анюта, я вот заметил что у меня проблема с хромом, никто не может с него написать комменты, пишет проблема с прокси перегрузите страницу

      2. Анютка Незабудка

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

        Ответить
  17. Был на сайте Дискуса сегодня. Читал отзывы блогеров. Я, Александр лучше бы скриптом установил функционал комментаторам, и чтобы автоматом выводились за качественные комменты вознаграждение на Вебмани. Комментаторам — дополнительный доход от комментирования + ссылки, а администратору блога / сайта — трафик.

    Ответить
    1. Aleksandr

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

      Ответить
  18. Александр

    Я бы описание настроек вынес из кода. По сути, такие вещи настраиваются один раз и забываются. А описание висит дополнительным баластом.
    Возможно это уже паранойя.

    Ответить