Obtenir Publier les commentaires pour ID après l'aide WP_Query () et une boucle personnalisée?
-
16-10-2019 - |
Question
( Note du modérateur: Le titre original était "Est-il possible d'obtenir des commentaires post par ID poste sur une boucle personnalisée en utilisant WP-Query ()?")
Salut! Je suis en une boucle personnalisée en utilisant WP_Query , qui affiche uniquement un poste d'une catégorie spécifique sur le 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; ?>
Y at-il moyen de faire afficher les commentaires pour ce poste spécifique? J'ai essayé, y compris le modèle de commentaires dans la boucle et rien. Y at-il une fonction qui charge les commentaires pour un poste spécifique que je peux utiliser à l'intérieur home.php ou ailleurs?
La solution
Pour pouvoir utiliser le modèle de commentaires dans vos boucles, ajoutez
global $withcomments; $withcomments = true;
Autres conseils
Par défaut, WP_Query ne chargera commentaires AVEC LA REQUETE si vous êtes
- regarder un flux de commentaires, ou
- regardant un élément de
singular
.
Votre requête ne serait pas automatiquement tirer dans les commentaires parce que, en tant que catégorie liste (même si il n'y a qu'un seul), il ne compte pas comme « singulier ». Heureusement, il y a un moyen de contourner cela. Au fond, avant de tirer dans le modèle de commentaires, vous devriez chercher les commentaires et les mettre 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éponse est correcte. Commentaire ne chargera si vous êtes singulier et le flux des commentaires. Heureusement, nous pouvons modifier ce comportement en ajoutant paramètre supplémentaire sur WP requête.
'withcomments' => 1, 'feed' => 1
Pas besoin de WP_Query ou boucle personnalisée pour commentaires. Vous pouvez juste obtenir des commentaires post dans la boucle post sur mesure ou poster WP_Query. En boucle, vous avez la post_id. Utilisez post_id pour obtenir des commentaires. Code est écrit ci-dessous.
$comments = get_comments('post_id='.$post->ID);
foreach($comments as $comment) :
print_r($comment);
endforeach;