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?
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() ) );