Display Posts by Categories

时间:2016-06-28 作者:dreamkiller

我目前正在开发Wordpress主题,我希望有不同的页面,可以显示不同类别的帖子。我有一个样式和结构,我想保持,我已经在头版使用。然而,我遇到了一些麻烦。

我已经根据类别在他们的目录中创建了不同的页面:页面寿命、页面旅行等。我现在希望在页面上按类别显示帖子。以下是我要编辑的循环(来自我的首页):

  <div class="container">
      <!-- Example row of columns -->
      <div class="row front-posts">

<?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>


    <div class="line2"></div>

    <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>

<!-- Start latest post -->
<div class="line2">
<?php $latest_post = get_posts( \'numberposts=9\' ); // Defaults args fetch posts starting with the most recent ?>

<?php foreach( $latest_post as $post ) : setup_postdata( $post ); ?>

       <div class="blog_thumb_wrapper">   


    <?php
                    $thumbnail_id = get_post_thumbnail_id(); 
                    $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, \'thumbnail-size\', true );
                    $thumbnail_meta = get_post_meta( $thumbnail_id, \'_wp_attachement_image_alt\', true );
                 ?>
                      <a href="<?php the_permalink(); ?>"> <img src="<?php echo $thumbnail_url[0]; ?>" alt="<?php echo $thumbnail_meta; ?> " class="fontpage_thumb"></a>


           <div class="carousel-caption sml-blogpost">
                        <div class="carousel-caption-text blogpost-text">
                            <a href="<?php the_permalink(); ?>"><p><?php the_time(\'l, F jS, Y\'); ?></p><br>
                            <h2><?php the_title(); ?></h2><br></a>
                         </div>
                      </div>


    </div>
<?php endforeach; ?>
<?php wp_reset_query(); ?>



<!-- End latest post -->
          </div>
    </div><!-- #content -->
我不知道现在如何编辑这个循环和结构,只显示我需要的特定类别的帖子。有没有人有什么建议,如果能得到一些反馈就好了?

此外,下面使用的循环是我从其他地方集成的循环,因此其中可能有一些不相关的部分。

谢谢

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

尝试此代码

<div class="container">
  <!-- Example row of columns -->
  <div class="row front-posts">

<?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>


    <div class="line2"></div>

    <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>

<!-- Start latest post -->
<div class="line2">
<?php 
$paged = get_query_var(\'paged\') ? get_query_var(\'paged\') : 1;
$args = array(\'post_type\' => \'post\',\'cat\'=> 2,\'posts_per_page\' => 9, \'paged\' => $paged); // Here 2 (\'cat\'=>2) is the Id of category of post that need to show
$loop = new WP_Query( $args );?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

       <div class="blog_thumb_wrapper">   


    <?php
                    $thumbnail_id = get_post_thumbnail_id(); 
                    $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, \'thumbnail-size\', true );
                    $thumbnail_meta = get_post_meta( $thumbnail_id, \'_wp_attachement_image_alt\', true );
                 ?>
                      <a href="<?php the_permalink(); ?>"> <img src="<?php echo $thumbnail_url[0]; ?>" alt="<?php echo $thumbnail_meta; ?> " class="fontpage_thumb"></a>


           <div class="carousel-caption sml-blogpost">
                    <div class="carousel-caption-text blogpost-text">
                        <a href="<?php the_permalink(); ?>"><p><?php the_time(\'l, F jS, Y\'); ?></p><br>
                        <h2><?php the_title(); ?></h2><br></a>
                     </div>
                  </div>


      </div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>



<!-- End latest post -->
      </div>
</div><!-- #content -->
别忘了更改类别id(\'cat\'=>2)。将2替换为要显示的帖子的类别id