Frage

(Anmerkung des Moderators: Der Original-Titel lautete "Gibt es eine Möglichkeit, Post-Kommentare per Post-ID mit WP-Query () zu erhalten?")

Hi! Ich führe eine benutzerdefinierte Schleife aus Verwenden von WP_Query, Dies zeigt nur einen Beitrag aus einer bestimmten Kategorie auf der home.php Seite wie so:

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

Gibt es eine Möglichkeit, dass es Kommentare zu diesem bestimmten Beitrag anzeigen lassen? Ich habe versucht, die Kommentarevorlage in die Schleife und nichts aufzunehmen. Gibt es eine Funktion, die die Kommentare für einen bestimmten Beitrag lädt, den ich in Home.php oder irgendwo anders verwenden kann?

War es hilfreich?

Lösung

Fügen Sie hinzu, um die Kommentarevorlage in Ihren Schleifen zu verwenden

global $withcomments; $withcomments = true;

Andere Tipps

Standardmäßig lädt WP_Query Kommentare nur mit der Abfrage, wenn Sie sind

  1. Betrachten Sie einen Kommentare -Feed, oder
  2. schauen sich a singular Artikel.

Ihre Abfrage würde die Kommentare nicht automatisch einziehen, da sie als Kategorieauflistung (obwohl es nur eine gibt) nicht als "einzigartig" gilt. Glücklicherweise gibt es einen Weg. Bevor Sie die Kommentarevorlage in die Kommentare ziehen, sollten Sie die Kommentare abrufen und in das von Ihnen verwendete Abfrageobjekt einfügen:

<?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 Antwort ist korrekt. Der Kommentar wird nur geladen, wenn Sie auf Singular & on Comment Feed sind. Glücklicherweise können wir dieses Verhalten überschreiben, indem wir zusätzlichen Parameter für die WP -Abfrage hinzufügen.

'withcomments' => 1, 'feed' => 1

Keine Notwendigkeit für WP_QUERY oder CUSTOME -Schleife für Kommentare. Sie können einfach Post -Kommentare in der benutzerdefinierten Schleife oder post WP_QUERY erhalten. In Schleife haben Sie die post_id. Verwenden Sie post_id, um Kommentare zu erhalten. Der Code ist unten geschrieben.

$comments = get_comments('post_id='.$post->ID);
       foreach($comments as $comment) :
               print_r($comment);
       endforeach;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top