Come Post per la post ID utilizzando WP_Query () e un ciclo personalizzato?
-
16-10-2019 - |
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?
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
- guardando un feed dei commenti, o
- 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;