Последние комментарии wordpress с миниатюрой записи?

Вопрос вроде бы не сложный, но, обладая нулевыми навыками программирования, реализовать у меня не получается. Вопрос заключается в следующем: нашел в сети код вывода блока последних комментариев (основной код для function.php и код вывода в любом месте). Данный код вводит стандартную информацию для последних комменатриев: аватар пользовтеля, текст комментария, ссылка на комментарий.

Мне же нужно его слегка модифицировать, а именно: вместо аватара пользователя выводить миниатюру записи, к которой добавлен комментарий, выводить заголовок записи (title), дату. Т.е. структура нужная следующая:
  • Миниатюра записи
  • Название записи (ссылка ведет на комментарий)
  • Автор комментария (ссылка на автора, если зарегистрирован; если не зарегистрирован, то просто имя)
  • Дата комментария
  • Текст комментария


Буду очень благодарен, если кто-то откликнется и поможет модифицировать данный код.

Как я хочу реализовать вывод комментариев

function dp_recent_comments() {
    $comment_len = 80;
    $comments = get_comments('number=5');
    if ($comments) {
        foreach ($comments as $comment) {
            ?>
            <li>
                <span class="thumb">Здесь миниатюра ЗАПИСИ</span>
                <span class="post-comment-link">Здесь название записи, а ссылка ведет на комментарий</span>
                <span class="author">Здесь имя автора (со ссылкой на профиль, если зарегистрирован)</span>
                <span class="time">Здесь время публикации комментария - d M Y, H:i, например</span>
                <span class="comment-text"><?php echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, $comment_len)); ?>...</span>
            </li>
            <?php
        }
    } else {
        echo "<li>Комментарии отсутствуют</li>";
    }
}


Оригинальный код для вставки в function.php
function dp_recent_comments() {
    $comment_len = 80;
    $comments = get_comments('number=5');
    if ($comments) {
        foreach ($comments as $comment) {
            ?>
            <li>
                <div style="float:left;"><?php echo get_avatar($comment,$size='40' ); ?></div>
                <a href="<?php echo get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_ID; ?>"><?php echo $comment->comment_author; ?>:</a>
                <br><?php echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, $comment_len)); ?>...
            </li>
            <?php
        }
    } else {
        echo "<li>Комментарии отсутствуют</li>";
    }
}


Код для вывода в любом месте
<ul><?php dp_recent_comments(); ?></ul>
  • Вопрос задан
  • 946 просмотров
Пригласить эксперта
Ответы на вопрос 1
@cema93
WordPress разработчик
function dp_recent_comments() {
    $comment_len = 80;
    $comments = get_comments('number=5');
    if ($comments) {
        foreach ($comments as $comment) {
            ?>
            <li>
                <span class="thumb"><?php echo get_the_post_thumbnail( $comment->comment_post_ID, 'thumbnail' );  ?></span>
                <span class="post-comment-link"><?php echo get_the_title( $comment->comment_post_ID ); ?></span>
                <span class="author"><a href="<?php echo  get_comment_author_url( $comment->comcomment_ID);  ?>"><?php echo $comment->comment_author; ?>:</a></span>
                <span class="time"><?php echo get_the_date( 'd M Y, H:i',  $comment->comment_post_ID ); ?></span>
                <span class="comment-text"><?php echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, $comment_len)); ?>...</span>
            </li>
            <?php
        }
    } else {
        echo "<li>Комментарии отсутствуют</li>";
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы