( Note du modérateur: Le titre d'origine était "Y a-t-il un moyen d'obtenir des commentaires de publication par ID de publication sur une boucle personnalisée à l'aide de WP-Query ()?")
Salut! J'exécute une boucle personnalisée avec WP_Query , qui n'affiche qu'une publication d'une catégorie spécifique sur la page home.php , comme suit:
<?php $pr_q = "cat=11&posts_per_page=1"; $pregunta_q = new WP_Query($pr_q); ?>
<?php while ($pregunta_q->have_posts()) : $pregunta_q->the_post(); ?>
<!-- post stuff here -->
<?php endwhile; ?>
Est-il possible d'afficher des commentaires pour cet article en particulier? J'ai essayé d'inclure le modèle de commentaires dans la boucle et rien. Existe-t-il une fonction qui charge les commentaires d’une publication spécifique que je peux utiliser dans home.php ou ailleurs?
Pour pouvoir utiliser le modèle de commentaires dans vos boucles, ajoutez
global $withcomments; $withcomments = true;
Par défaut, WP_Query ne chargera les commentaires WITH THE QUERY que si vous êtes
singular
.Votre requête n'entraînera pas automatiquement les commentaires car, en tant que liste de catégories (même s'il n'y en a qu'un), elle ne compte pas comme "singulier". Heureusement, il existe un moyen de contourner ce problème. Essentiellement, avant d'extraire le modèle de commentaires, vous devez récupérer les commentaires et les insérer dans l'objet de requête que vous utilisez:
<?php $pr_q = "cat=11&posts_per_page=1"; $pregunta_q = new WP_Query($pr_q); ?>
<?php while ($pregunta_q->have_posts()) : $pregunta_q->the_post(); ?>
<!-- post stuff before comments here -->
$comments = get_comments( array(
'post_id' => $post->ID,
'orderby' => 'comment_date_gmt',
'status' => 'approve',
) );
if(!empty($comments)){
$pregunta_q->comments = $comments;
$pregunta_q->comment_count = count($comments);
}
<!-- comment stuff here -->
<?php endwhile; ?>
John P Bloch répond correctement. Les commentaires ne seront chargés que si vous êtes au singulier et sur le fil de commentaires. Heureusement, nous pouvons remplacer ce comportement en ajoutant un paramètre supplémentaire sur WP Query.
'withcomments' => 1, 'feed' => 1