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

Без плагина WordSmall

Перед выполнением какой-либо задачи следует хорошенько поискать все возможные варианты ее решения. Это касается многого, но в данном случае вывода последних комментариев в определённом месте, допустим, в сайдбаре. Чтобы вывести свежие комментарии WordPress можно воспользоваться плагином, к примеру, WP-RecentComments. Но это создаст дополнительную нагрузку на сайт что увеличит больше запросов к базе данных. В стандарте в WordPress есть свой виджет последних комментариев, но он выводит без аватарок, только текст.

Как же вывести последние WordPress комментарии с аватарками? очень просто использовать фрагмент кода, приведенный ниже. Это позволит избежать лишнего плагина и получить нужный результат. Место можете определить любое, но, как правило, последние комментария выводят в сайдбаре.

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

Шаг 1.

Зайдите в админ-панель на вкладку Внешний вид – Виджеты. Добавьте текстовый виджет и в поле ввода вставьте код:

<?php $comments = get_comments('status=approve&number=5'); ?>
<ul class="widgcomm">
    <?php foreach ($comments as $comment) { ?>
        <li class="comcont"><?php
            $title = get_the_title($comment->comment_post_ID);
            echo get_avatar( $comment, $size = '35');
            echo '<span class="tecom">' . ($comment->comment_author) . '';
            ?> к посту: </span><a class="auth" href="<?php echo get_permalink($comment->comment_post_ID); ?>"
                                  rel="external nofollow" title="<?php echo $title; ?>">
                <?php echo $title; ?> </a>
            "<?php
            echo  '<span class="tecom">' . wp_html_excerpt( $comment->comment_content, 35 ) .
                '</span>'; ?>.."
            <?php $d = "M d, Y";
            $comment_ID = $comment->comment_ID;
            $comment_date = get_comment_date( $d, $comment_ID );
            $comment_PID = $comment->comment_post_ID;
            echo $comment_date;?>
            <?php  echo 'Всего комм.: '.get_comments_number($comment_PID) ?>
        </li>
    <?php }  ?> </ul>

Количество комментарий.

('status=approve&number=5');

Размер аватарок.

$size = '35'

Количество символов сообщения.

$comment->comment_content, 35

Шаг 2.

Откройте файл style.css и пропишите стили чтобы все корректно отображалось.

ul.widgcomm {
        margin-left: 0;
        list-style: none;
}
li.comcont {
   clear:both;
   min-height: 60px;
   margin-bottom: 5px;
}
.widgcomm .avatar {
   float:left;
   margin-top: 5px !important;
   margin-right:10px !important;
   border: #d8d8d8 1px solid;
}
span.tecom {
        font-weight: bold;
        color: #626264;
}

a.auth {
 color: #05788e !important;
 transition:0.2s all;
}
a.auth:hover {
    color: #fb7c0a !important;
}

Результат.

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

Вот и все, стили изменяйте на свое усмотрение.

— Не забывайте делиться с друзьями в социальных сетях: —

Автор, он же Андрей, он же Admin, он же WordSmall

Лентяй-любитель, окончил высшую школу безделья с многочисленными знаками отличия. Создатель этого небольшого «чудо-блога» о еще более «чудном» контенте.

E-mail Google+ Twitter
Комментариев: 26
  • Олег

    Спасибо! Ваш способ позволил избежать установки очередного плагина. Из минусов (не критичных, но все же) — заданное число знаков режет слова как взбредет, а хотелось бы «умной» обрезки, т.е. по слову... И второе — по клику попадаешь на статью, а не в область данного комментария. Но, повторюсь, решение отличное, уже пользуюсь.

    С наступающим Новым годом! )

    • WordSmall

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

      Или так (формат ссылки)

      <?php echo get_permalink($comment- rel="nofollow">comment_post_ID); ?>#comment-<?php echo $comment->comment_ID; ?>" rel="external nofollow" title="<?php echo $title; ?>"> <?php echo $title; ?>

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