Статьи, приносящие деньги

Забирайте в подарок мой многолетний опыт — книгу «Автопродажи через блог»

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

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

 ТОП комментаторов блога 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.


Понравилась статья? Скажи автору спасибо, поделись с друзьями!



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

  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. Александр говорит:

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

    Ответить

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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