Записки WEB Мастера

О создании сайтов, блогов. WordPress, WEB Дизайн

Заметки

Удобная функция вывода последних комментариев

Вообще обычная функция, коих в интернете полным-полно, так же нужна для вывода последних комментариев и только. Все удобство заключается в том что, HTML не выводится  средствами PHP.

То есть, в коде нет таких моментов «echo '<div> бла бла бла</div>'». Весь HTML можно «строчить» внутри самой функции для разметки вывода последних комментариев, так, как будто вы размечаете обычную html страничку.

/* ====================================================================
  Функция для получения последних комментариев
  Ничем не отличается от кучи других функций для вывода комментариев
  За ислючением того, что даёт возможность удобно "страчить" HTML
*/ 
 
function comm_new() {
  $comm_text_substr   = 220;      // Сколько символов обрезать
  $comm_text_strrpos  = '...';    // Что подставить после текста
  $comm_number        = 5;        // Сколько комментариев выводить
  $comm_ava           = 1;        // Выводить аватарку? 1 - ДА. 0 - НЕТ
  $comm_ava_size      = 60;       // Размер аватарки в px
  $adminnot_in        = 0;        // Исключить комменты админа или другого автора (Указать ID автора) "0" никто не исключён
 
      $args_comm = array(
          'status'          => 'approve',
          'number'          => $comm_number,
          'author__not_in'  => $adminnot_in
      );
      $comments = get_comments($args_comm);
 
if ($comments) {
// Раскидаем основную информацию по переменным
foreach ($comments as $comment) {
 
$comm_text        =  strip_tags(substr($comment->comment_content, 0, $comm_text_substr));   // Обрезать текст...
$comm_text        =  substr($comm_text, 0, strrpos($comm_text, ' ')) . $comm_text_strrpos;  // ... и удалить последний пробел и что-то подставить (см переменную "$comm_text_strrpos" вверху)
$comm_link_post   =  get_permalink($comment->comment_post_ID);      // ссылка на пост
$comm_autor       =  $comment->comment_author;                      // Автор коментария
$comm_title       =  get_the_title($comment->comment_post_ID);      // Загаловок поста
$comm_id          =  $comment->comment_ID;                          // ID Комментария
 
if ($comm_ava == 1) {
    $comm_avatar      =  get_avatar( $comment->comment_author_email, $comm_ava_size);   // Ава и её размер
}
// Собственно "Тело" (!!!) Можно сделать разметку, так как нравится, подставив в нужные места переменные выше
        ?>
        Тут Ваш HTML
        <?php
      }
  }
// Где-то в sidebar или любом другом месте нужно вызвать функцию "comm_new();"
} // happy end :)

Все что нужно сделать, это вставить код функции в файл «functions.php» написать свой html так как вам больше нравится, а в нужных местах подставить вывод соответствующих переменных.

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

<?php 
   echo $comm_text; 
?>

Что бы вывести последние комментарии на сайте, нужно вызвать функцию comm_new(); там где Вам нужно. Надеюсь, эта функция будет полезной для тех людей, кто не особо дружит с кодом, но хорошо справляется с html разметкой.

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

Комментариев пока нет

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

Обязательно с протоколом http или https.