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?

Était-ce utile?

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

  1. regarder un flux de commentaires, ou
  2. 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;
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top