Блог Андрея Юрченко

Авторский блог с полезными статьями по темам: создание сайта, заработок на сайте, заработок в интернете, работа на дому, работа в интернете, инфобизнес

Полезные хаки для комментариев WordPress. Часть 2

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

комментарии на сайт, wordpress комментарии

Вывод последних комментариев

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

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

<?php

  $pre_HTML =»";

  $post_HTML =»";

  global $wpdb;

  $sql = «SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = ’1′ AND comment_type = » AND post_password = » ORDER BY comment_date_gmt DESC LIMIT 10″;

  $comments = $wpdb->get_results($sql);

  $output = $pre_HTML;

  $output .= «\n<ul>»;

  foreach ($comments as $comment) {

    $output .= «\n<li>».strip_tags($comment->comment_author) .»: » . «<a href=\»" . get_permalink($comment->ID).»#comment-» . $comment->comment_ID . «\» title=\»on «.$comment->post_title . «\»>» . strip_tags($comment->com_excerpt).»</a></li>»;

  }

  $output .= «\n</ul>»;

  $output .= $post_HTML;

  echo $output;

?>

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

Помимо имени автора можно выводить аватары, дату и другие данные. Об этом можете почитать в моих расширенных статьях на данную тему:  «WordPress последние комментарии с аватарами без плагина» , «Страница с комментариями на сайте WordPress»

Переменные $pre_HTML и $post_HTML служат для вставки кода или оформления шапки и футера блока вывода комментариев.

ТОП комментируемых постов

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

Для этого так же воспользуемся кодом, который нужно вставить в нужное вам место:

<ul>

<?php

$result = $wpdb->get_results(«SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN ’2015-01-01′ AND ’2015-02-01′ ORDER BY comment_count DESC LIMIT 0 , 10″);

foreach ($result as $topten) {

    $postid = $topten->ID;

    $title = $topten->post_title;

    $commentcount = $topten->comment_count;

    if ($commentcount != 0) {

    ?>

         <li><a href=»<?php echo get_permalink($postid); ?>»><?php echo $title ?></a></li>

    <?php }

}

?>

</ul>

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

Это простой способ вывода, а о более продвинутом можете почитать в моей статье: «WordPress популярные записи с миниатюрами без плагина»

Защита от спама

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

Снова воспользуемся кодом, который смотрит HTTP реферер –страница, с которой поступает запрос и при его отсутствии или если он неправильный автоматом блокирует коммент. Вот код:

function check_referrer() {

    if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == “”) {

        wp_die( __(‘Реферер не определен в вашем браузере. Пожалуйста, активируйте опцию передачи реферера. Но скорее всего вы гребаный спамер, но попали не по адресу! ‘) );

    }

}

add_action(‘check_comment_flood’, ‘check_referrer’);

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

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

Есть более продвинутая защита от спама, о которой Вы можете узнать из моей статьи «Защита комментариев от спама в WordPress без плагинов»

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

Продолжение статьи читайте по ссылке:  ЧАСТЬ 3

С уважением, Андрей Юрченко

Поделитесь статьей в социальных сетях!

Подпишись на RSS-рассылку и получай новые статьи на почту!

Введите свой e-mail:

МАГИЧЕСКИЙ ШАБЛОН ПОДПИСНОЙ СТРАНИЦЫ В ПОДАРОК, ЗАБИРАЙТЕ

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

Добавить комментарий

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Комментарии Вконтакте:

Content Tab Three

Блог Андрея Юрченко © 2016

ВВЕРХ