Последние комментарии WordPress — тексты комментариев в сайдбаре

В WordPress есть виджет «последние комментарии», но вот информативность его оставляет желать лучшего. К примеру, опубликовали вы новый пост, его 10 человек прокомментировали, и в сайдбаре у вас будет скучный список: «Аня, Вася, Зоя в ответ на ... то же самое». Куда это годится? Я же предлагаю публиковать последние комментарии с выдержками из их текста и аватарами авторов. Пример вы можете видеть в моём сайдбаре.

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

В первую очередь, этот код:

function pavluha_recent_comments() {
    $comment_len = 100;
    $comment_k = 10;
    $comment_more = ' [...]';
    $comment_avatar_size = 35;
    $comments = get_comments('number='.$comment_k.'&status=approve');
    if ($comments) {
?>
<ul class="rec_comments">
<?
        foreach ($comments as $comment) {
?>
<li>
<?php echo get_avatar($comment,$comment_avatar_size); ?>
<a href="<?php echo get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_ID; ?>"><?php echo $comment->comment_author; ?></a>:
<?= mb_strimwidth(strip_tags(apply_filters('get_comment_text', $comment->comment_content)), 0, $comment_len+strlen($comment_more), $comment_more); ?>
</li>
<?php
        }
?>
</ul>
<?
    }
}

Нужно вставить в файл function.php (в админке «Внешний вид» — «Редактор» — «Функции темы (function.php)»). Можно вставить в самом начале после строчки <?php.

Тут некоторые настройки можете изменить на свой вкус:

  • 2 строка — максимальная длина текста комментария, комментарий большей длины будет усечён. Здесь максимальная длина — 100 символов;
  • 3 строка — сколько комментариев отображать. Здесь 10;
  • 4 строка — что добавлять к тексту комментария, если он усекается. Здесь добавится [...] — если будете менять, будьте внимательны с кавычками;
  • 5 строка — размер аватара. Здесь 35×35 пикселей.

Следующее изменение. Редактируем файл sidebar.php («Боковая колонка» или «Сайдбар»). Да, в том же Редакторе. В нужном месте следует вставить код:

<h3 class="widget-title">Блогеры пишут</h3>
<? pavluha_recent_comments(); ?>

Нужное место ищем опытным путём.

Затем нужно лишь настроить стиль оформления последних комментариев WordPress. Для этого редактируем файл style.css («Список стилей»). В конце этого файла нужно добавить такие строки:

.rec_comments li {
	padding: 5px 0px;
	clear: right;
}
.rec_comments img {
	float: right;
	margin: 5px 0px 5px 5px;
}

Если хотите, чтобы аватарки последних комментариев были выравнены по левому краю, то в обоих местах замените right на left. И наслаждайтесь. ;)

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

Запись опубликована в рубрике Web-мастеринг с метками , . Короткая ссылка для добавления в закладки: Последние комментарии WordPress — тексты комментариев в сайдбаре.

57 Responses

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

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

Иногда ваш комментарий может не отобразиться сразу после публикации - будто пропал. Не волнуйтесь, он не пропадёт и появится потом, после моего одобрения.