it-swarm.dev

Získání komentářů pro příspěvek ID pomocí WP_Query () a vlastní smyčka?

( Poznámka moderátora: Původní název byl "Existuje způsob, jak dostat post komentáře poštou ID na vlastní smyčku pomocí WP-Query ()?")

Ahoj! Používám vlastní smyčku pomocí WP_Query , která zobrazuje pouze jeden příspěvek ze specifické kategorie na stránce home.php , jako je například:

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

Existuje nějaký způsob, jak ukázat komentáře k tomuto konkrétnímu příspěvku? Snažil jsem se, včetně komentáře šablony uvnitř smyčky a nic. Existuje funkce, která načítá komentáře pro konkrétní příspěvek, který mohu použít uvnitř home.php nebo kdekoli jinde?

6
Rodrigo

Chcete-li použít šablonu komentářů ve smyčkách, přidejte

global $withcomments; $withcomments = true;
4
sorich87

Ve výchozím nastavení bude služba WP_Query načítat komentáře pouze v případě, že jste

  1. při pohledu na komentáře, nebo
  2. při pohledu na položku singular.

Váš dotaz by se v komentářích automaticky nevytáhl, protože jako seznam kategorií (i když existuje pouze jeden) se nepočítá jako singulární. Naštěstí je tu něco kolem. Předtím, než vytáhnete šablonu poznámek, byste měli v podstatě načíst komentáře a umístit je do objektu dotazu, který používáte:

<?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; ?>
1
John P Bloch

Odpověď Johna P Blocha je správná. Komentář se načte pouze v případě, že používáte singulární & komentáře. Naštěstí můžeme toto chování přepsat přidáním dalšího parametru do dotazu WP Query.

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

0
Jeg Bagus