Domanda

( Nota del Moderatore: Il titolo originale era "C'è un modo per ottenere Commenti sul post per posta ID su un anello personalizzato utilizzando WP-Query ()?")

Ciao! Sono in esecuzione di un ciclo personalizzato utilizzando WP_Query , che viene visualizzato solo un post da una categoria specifica sul home.php , in questo modo:

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

C'è un modo per averlo mostrare commenti per quel post specifico? Ho cercato tra cui il modello di commenti all'interno del ciclo e niente. C'è una funzione che carica i commenti per un post specifico che posso usare all'interno home.php o altrove?

È stato utile?

Soluzione

Per essere in grado di utilizzare il modello di commenti nel loop, add

global $withcomments; $withcomments = true;

Altri suggerimenti

Per impostazione predefinita, WP_Query caricherà solo i commenti con la query se siete

  1. guardando un feed dei commenti, o
  2. guardando un oggetto singular.

La query non tirerebbe automaticamente nei commenti perché, come categoria messa in vendita (anche se uno solo non c'è) non conta come 'singolare'. Fortunatamente, c'è un modo per aggirare questo. In sostanza, prima di tirare nel modello commenti, si dovrebbe prendere i commenti e metterli in oggetto query che si sta utilizzando:

<?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 risposta è corretta. Commento solo caricherà se siete su singolare e al commento di alimentazione. Per fortuna siamo in grado di ignorare questo comportamento con l'aggiunta di ulteriore parametro su WP query.

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

Non c'è bisogno di WP_Query o ad anello su misura per i commenti. Si può solo ottenere Commenti sul post in anello personalizzato posta o inviare WP_Query. Nel ciclo si ha la post_id. Utilizzare post_id per ottenere commenti. Codice è scritto di seguito.

$comments = get_comments('post_id='.$post->ID);
       foreach($comments as $comment) :
               print_r($comment);
       endforeach;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top