Use two WP Query in template

时间:2017-02-19 作者:kenphanith

我在我的WP网站上有两种不同的自定义帖子类型,一种是“item\\u a”,另一种是“item\\u b”。我想使用WP\\u查询对象显示“item\\u a”和“item\\u b”中的所有帖子,但我不能同时使用两个WP\\u查询对象。那么在这种情况下,我应该怎么做?感谢所有看到这个问题的天才!!!

    <?php
  $query = new WP_Query( array( \'post_type\' => \'item_a\' ) );
  if ( $query->have_posts() ) : ?>                    
    <?php endwhile; wp_reset_postdata(); ?>
       <!-- show item_a posts -->
  <?php else : ?>
       <!-- show 404 error here -->
        <p>404 error</p>
  <?php endif; ?>

    <?php
      $query = new WP_Query( array( \'post_type\' => \'item_b\' ) );
      if ( $query->have_posts() ) : ?>                    
        <?php endwhile; wp_reset_postdata(); ?>
           <!-- show item_b posts -->
      <?php else : ?>
           <!-- show 404 error here -->
            <p>404 error</p>
      <?php endif; ?>

1 个回复
最合适的回答,由SO网友:Den Isahac 整理而成

是的,您可以使用WP_Query 只要你打电话给wp_reset_postdata 函数,就像您在代码中所做的那样。

你错过了while 声明和posts_per_page 对于WP_Query 数组参数项。

<?php
 $query = new WP_Query( array( \'post_type\' => \'item_a\', \'posts_per_page\' => -1 /** Show all **/ ) );
 if ( $query->have_posts() ) : while($query->have_posts()) : $query->the_post(); ?>                    
   <!-- show item_a posts -->
   <?php the_title(); ?>
<?php endwhile; wp_reset_postdata(); ?>
<?php else : ?>
  <!-- show 404 error here -->
  <p>404 error</p>
<?php endif; ?>

<?php
  $query = new WP_Query( array( \'post_type\' => \'item_b\', \'posts_per_page\' => -1 /** Show all **/ ) );
  if ( $query->have_posts() ) : while($query->have_posts()) : $query->the_post(); ?>
  <!-- show item_b posts -->
  <?php the_title(); ?>
<?php endwhile; wp_reset_postdata(); ?>
<?php else : ?>
  <!-- show 404 error here -->
  <p>404 error</p>
<?php endif; ?>

相关推荐

无法在WordPress中通过PHP显示图像

我有一个奇怪的问题,当我尝试使用PHP输入图像标记的源代码时,它会在检查器中显示以下错误<img src=(unknown) alt=\"\"> 这个代码片段为我提供了正确的url,通过查看CPanel并粘贴和复制地址进行检查,但当我尝试通过php输入它时,不会显示图像$image = wp_get_attachment_image_src( $post_thumbnail_id); //echo($image[0]); ?> <img src=