web-dev-qa-db-fra.com

Afficher les commentaires sur une page de commentaires sans formulaire

J'utilise ceci pour me permettre d'afficher mes commentaires pour les articles sur les pages de catégorie:

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

Cependant, je ne veux pas afficher le formulaire de commentaire. Est-il possible d'afficher les commentaires uniquement sur une page de commentaires?

1
JonnyPlow

Utilisez get_comments() et transmettez l’ID de publication en tant que paramètre. Puis imprimez le résultat sous forme de liste régulière. D'un plugin j'ai publié récemment:

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>';
}

Vous pouvez l'utiliser comme ceci:

print t5_list_comments( array ( 'post_id' => get_the_ID() ) );
1
fuxia