BloGGood.ru

Блог Костаневича Степана

WordPress, PHP, HTML, CSS, Windows

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как вывести последние комментарии с аватаром на WordPress без плагина

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

2014-08-26 / Вр:01:19 / просмотров: 9430

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

Как вывести последние комментарии с аватаром на 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).

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

23 Ответов на комментарий - Как вывести последние комментарии с аватаром на WordPress без плагина

  1. Максим

    Сейчас как раз задался аналогичным вопросом, будем пробовать;)

  2. Данила

    Привет! Подскажите а как вместо отображения первых символов сделать отображение первых скажем 5 слов?

  3. Данила

    Сможете подсказать по данному вопросу?
    Был бы оочень благодарен))

  4. Avatar photo Степан => автор блога

    Здравствуйте, Данила! Я извиняюсь, что долго не отвечал на Ваш комментарий. Вот абсолютно готовый код к использованию:

    <?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 – задаете количество слов.

  5. Данила

    Большое спасибо Степан! Вы мне очень помогли!) :smile:

  6. Данила

    Степан, добрый день! По теме “вывод последних комментариев” хотел у Вас спросить: как возможно вывести последние комментарии определенной страницы в sidebar?
    Спасибо.

  7. Avatar photo Степан => автор блога

    Здравствуйте, Данила!
    Вот код:

    <?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 страницы и записи, я писал здесь.

  8. Данила

    Степан как всегда огромное спасибо! Периодически начал почитывать Ваш блог и иногда нахожу очень интересную для себя информацию (хотя на самом деле никогда не читал и не читаю ни один блог). Благодарю Вас за Вашу работу, за Вашу помощь!

  9. Avatar photo Степан => автор блога

    Пожалуйста!

  10. Борис

    Степан, спасибо за статью!
    Однако, может у Вас будет желание и возможность упростить данный код php для вывода комментариев в футер. Скажем, у меня на сайте данная Вами форма смотрится немного громоздко, т.к. сайт довольно простой и мелкий в плане шрифта и картинок. Возможно ли сделать код, чтобы комментарии отображались просто текстом на фоне футера или в виде ячеек таблицы, как у Вас, насколько я понимаю, но чтобы ячейки были меньше (по ширине текста) и следовали последовательно (в строчку). И еще возможно ли изменить фон и цвет шрифта в данной форме. Я так понимаю, что это находится не в style.css, а стили загнаны в Ваш код php. Заранее спасибо!

  11. Avatar photo Степан => автор блога

    Здравствуйте, Борис! В коде есть два класса:
    avatar-comment-ostani
    avattar
    Задайте к этим классам свои размеры, стили и т.д в файле “style.css”.

  12. Данила

    Добрый день, Степан!
    А могли бы Вы подсказать как вывести комментарии из определенной рубрики?
    Заранее Вас благодарю.

  13. Avatar photo Степан => автор блога

    Здравствуйте, Данила!
    Почитайте пункт №3
    /wordpress/kak-vyvesti-poslednie-kommentarii-s-avatarom-na-wordpress-dopolnenie.html/
    Это то, что вам надо!

  14. Данила

    Имелось ввиду все комментарии статей определенной рубрики…

  15. Avatar photo Степан => автор блога
    <?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 страницы или записи.

  16. Данила

    Это я видел. Но когда я ввожу id рубрики вывод не работает и не должен работать, так как код настроен на вывод комментариев страниц и записей. А мне нужно рубрик. Возможно вывести комментарии записей определенной рубрики?

  17. Avatar photo Степан => автор блога

    Попробуйте вот так:

    <?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$

  18. Данила

    Давайте на ЯД переведу)

  19. Avatar photo Степан => автор блога

    У меня только WebMoney.

  20. Данила

    хорошо. скиньте на почту wm

  21. Avatar photo Степан => автор блога

    Сделал! На почту отправил wm

  22. Данила

    скинул!) жду ответа.

  23. Avatar photo Степан => автор блога

    Отправил готовый код на почту

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

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

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716