Сегодня хочу предложить вам, мои дорогие друзья, полезную функцию для WordPress – вывод последних комментариев с аватаром на блоге. Как это выглядит, вы можете посмотреть у меня на блоге с правой стороны.

Итак, как вывести последние комментарии с аватаром на WordPress без плагина?
Все довольно просто: зайдите в админ-панель => «Внешний вид» => «Редактор» => «Боковая колонка (sidebar.php)» и разместите вот такой код:
<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
if ($comments) {
foreach ($comments as $comment) {
$url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
echo '<center><table border="0" cellspacing="0" cellpadding="2" width="95%"><tbody><tr>';
echo '<td valign="top" >';
echo '<div class="avattar">';
echo $url;
echo get_avatar( $comment->comment_author_email, $img_w);
echo '</div></a>';
echo '</td>';
echo '<td>';
echo '<div class="avatar-comment-ostani">';
echo $url;
echo $comment->comment_author;
echo ': <br><em>';
echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, 150));
echo '… </em> ';
echo '<br>⇒ Открыть статью ⇐</a></div>';
echo '</td>';
echo '</tr></tbody></table></center>';
}
}
?>
Строка №3 – «5» – отвечает за количество вывода комментариев.
Строка №21 – «150» – отвечает за количество выводимых символов в комментариях.
Кстати, вывести последние комментарии можно в боковой колонке (sidebar.php) или в подвале (footer.php).
Вам только останется красиво оформить вывод последних комментариев с аватаром в таблице стилей (style.css).
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 331671 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 275609 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 226702 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 193199 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 187094
23 Ответов на комментарий - Как вывести последние комментарии с аватаром на WordPress без плагина
Добавить комментарий
Метки: wordpress, без плагинов


Как установить минимальную сумму для заказа — WooCommerce?
URL ссылка миниатюры для картинки – WordPress
Как добавить визуальный редактор для «Цитат (Отрывок)» — WordPress ?
Как добавить «Цитату (Отрывок)» для страниц?
Как вывести количество записей категорий по «ID» (WordPress)
Как изменить адрес входа в админ в WordPress плагином Lockdown WP Admin
Как включить шорткод в виджете WordPress

Сейчас как раз задался аналогичным вопросом, будем пробовать;)
Привет! Подскажите а как вместо отображения первых символов сделать отображение первых скажем 5 слов?
Сможете подсказать по данному вопросу?
Был бы оочень благодарен))
Здравствуйте, Данила! Я извиняюсь, что долго не отвечал на Ваш комментарий. Вот абсолютно готовый код к использованию:
<?php $query = "SELECT * from $wpdb->comments WHERE comment_approved= '1' ORDER BY comment_date DESC LIMIT 0 ,5"; $comments = $wpdb->get_results($query); if ($comments) { foreach ($comments as $comment) { $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">'; echo '<center><table border="0" cellspacing="0" cellpadding="2" width="95%"><tbody><tr>'; echo '<td valign="top" >'; echo '<div class="avattar">'; echo $url; echo get_avatar( $comment->comment_author_email, $img_w); echo '</div></a>'; echo '</td>'; echo '<td>'; echo '<div class="avatar-comment-ostani">'; echo $url; echo $comment->comment_author; echo ': <br><em>'; $strI = apply_filters('get_comment_text', $comment->comment_content); $countI = 5; // здесь количество слов $str = preg_replace('/ {2,}/',' ',trim($strI)); $arr_words = explode (' ', $str); if (count($arr_words)<$countI) $countI = count($arr_words); $result = ''; for ($i=0; $i<$countI; $i++){ $result .= ' '.$arr_words[$i]; } $result=trim($result); echo strip_tags($result); echo '… </em> '; echo '<br>⇒ Открыть статью ⇐</a></div>'; echo '</td>'; echo '</tr></tbody></table></center>'; } } ?>Строке №22 — задаете количество слов.
Большое спасибо Степан! Вы мне очень помогли!)
Степан, добрый день! По теме «вывод последних комментариев» хотел у Вас спросить: как возможно вывести последние комментарии определенной страницы в sidebar?
Спасибо.
Здравствуйте, Данила!
Вот код:
<?php $query = "SELECT * from $wpdb->comments WHERE comment_approved= '1' AND `comment_post_ID`='номер статьи/страницы' ORDER BY comment_date DESC LIMIT 0 ,5"; $comments = $wpdb->get_results($query); if ($comments) { foreach ($comments as $comment) { $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">'; echo '<center><table border="0" cellspacing="0" cellpadding="2" width="95%"><tbody><tr>'; echo '<td valign="top" >'; echo '<div class="avattar">'; echo $url; echo get_avatar( $comment->comment_author_email, $img_w); echo '</div></a>'; echo '</td>'; echo '<td>'; echo '<div class="avatar-comment-ostani">'; echo $url; echo $comment->comment_author; echo ': <br><em>'; echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, 150)); echo '… </em> '; echo '<br>? Открыть статью ?</a></div>'; echo '</td>'; echo '</tr></tbody></table></center>'; } } ?>В строке №2 — там где надпись «номер статьи/страницы», укажите ID страницы или записи. Как узнать ID страницы и записи, я писал здесь.
Степан как всегда огромное спасибо! Периодически начал почитывать Ваш блог и иногда нахожу очень интересную для себя информацию (хотя на самом деле никогда не читал и не читаю ни один блог). Благодарю Вас за Вашу работу, за Вашу помощь!
Пожалуйста!
Степан, спасибо за статью!
Однако, может у Вас будет желание и возможность упростить данный код php для вывода комментариев в футер. Скажем, у меня на сайте данная Вами форма смотрится немного громоздко, т.к. сайт довольно простой и мелкий в плане шрифта и картинок. Возможно ли сделать код, чтобы комментарии отображались просто текстом на фоне футера или в виде ячеек таблицы, как у Вас, насколько я понимаю, но чтобы ячейки были меньше (по ширине текста) и следовали последовательно (в строчку). И еще возможно ли изменить фон и цвет шрифта в данной форме. Я так понимаю, что это находится не в style.css, а стили загнаны в Ваш код php. Заранее спасибо!
Здравствуйте, Борис! В коде есть два класса:
avatar-comment-ostani
avattar
Задайте к этим классам свои размеры, стили и т.д в файле «style.css».
Добрый день, Степан!
А могли бы Вы подсказать как вывести комментарии из определенной рубрики?
Заранее Вас благодарю.
Здравствуйте, Данила!
Почитайте пункт №3
https://bloggood.top/wordpress/kak-vyvesti-poslednie-kommentarii-s-avatarom-na-wordpress-dopolnenie.html/
Это то, что вам надо!
Имелось ввиду все комментарии статей определенной рубрики…
<?php $query = "SELECT * from $wpdb->comments WHERE comment_approved= '1' AND `comment_post_ID`='номер статьи/страницы' ORDER BY comment_date"; $comments = $wpdb->get_results($query); if ($comments) { foreach ($comments as $comment) { $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">'; echo '<center><table border="0" cellspacing="0" cellpadding="2" width="95%"><tbody><tr>'; echo '<td valign="top" >'; echo '<div class="avattar">'; echo $url; echo get_avatar( $comment->comment_author_email, $img_w); echo '</div></a>'; echo '</td>'; echo '<td>'; echo '<div class="avatar-comment-ostani">'; echo $url; echo $comment->comment_author; echo ': <br><em>'; echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, 150)); echo '… </em> '; echo '<br>? Открыть статью ?</a></div>'; echo '</td>'; echo '</tr></tbody></table></center>'; } } ?>В строке №2 – там, где надпись «номер статьи/страницы» укажите ID страницы или записи.
Это я видел. Но когда я ввожу id рубрики вывод не работает и не должен работать, так как код настроен на вывод комментариев страниц и записей. А мне нужно рубрик. Возможно вывести комментарии записей определенной рубрики?
Попробуйте вот так:
<?php $query = "SELECT * from $wpdb->comments WHERE comment_approved= '1' AND `comment_post_ID` RLIKE (nom1|nom2|...) ORDER BY comment_date"; $comments = $wpdb->get_results($query); if ($comments) { foreach ($comments as $comment) { $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">'; echo '<center><table border="0" cellspacing="0" cellpadding="2" width="95%"><tbody><tr>'; echo '<td valign="top" >'; echo '<div class="avattar">'; echo $url; echo get_avatar( $comment->comment_author_email, $img_w); echo '</div></a>'; echo '</td>'; echo '<td>'; echo '<div class="avatar-comment-ostani">'; echo $url; echo $comment->comment_author; echo ': <br><em>'; echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, 150)); echo '… </em> '; echo '<br>? Открыть статью ?</a></div>'; echo '</td>'; echo '</tr></tbody></table></center>'; } } ?>nom1|nom2|… — номера статей из заданной категории.
Если хотите, могу посидеть, поковыряться в коде и сделать чтобы было все намного проще. Но это время!
Готов попробовать за 2$
Давайте на ЯД переведу)
У меня только WebMoney.
хорошо. скиньте на почту wm
Сделал! На почту отправил wm
скинул!) жду ответа.
Отправил готовый код на почту