Отображать комментарии на странице комментариев без формы


Я использую это, чтобы отображать свои комментарии к публикациям на страницах категорий:

<?php
$wp_query->is_single = true;
comments_template();
$wp_query->is_single = false;
?>

Однако я не хочу отображать форму комментария. Есть ли способ отображать комментарии только на странице комментариев?

Author: JonnyPlow, 2013-01-15

1 answers

Использовать get_comments() и передайте идентификатор записи в качестве параметра. Затем распечатайте результат в виде обычного списка. Из плагина Недавно я опубликовал:

function t5_list_comments( $atts, $content = '' )
{
    '' !== $content && $content = wpautop( do_shortcode( $content ) );

    if ( ! isset ( $atts['post_id'] ) )
        return 'Please pass an argument for "post_id"';

    if ( ! $comments = get_comments( $atts ) )
        return 'No comments found for post ID '. esc_html( $atts['post_id'] );

    $out = $content . '<ul class="t5-comment-list">';
    foreach ( $comments as $comment )
    {
        $out .= sprintf(
            '<li>%1$s - %2$s %3$s</li>',
            get_comment_author_link( $comment->comment_ID ),
            get_comment_date( 'd.m.Y H:i', $comment->comment_ID ),
            wpautop( $comment->comment_content )
        );
    }

    return $out . '</ul>';
}

Вы можете использовать его следующим образом:

print t5_list_comments( array ( 'post_id' => get_the_ID() ) );
 1
Author: fuxia, 2013-01-15 21:25:16