我有显示我网站上最新帖子的代码,但是我想知道是否有一种方法可以列出最新帖子,每个类别仅显示一个帖子。假设我有7个类别,因此页面上仅显示7个帖子。我该怎么办?
<?php if ( ! is_single() ) { ?>
<div class="post-container">
<?php } ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php
//Post Title code
//Post Thumbnail code
//Post Content / Excerpt code
//Post Meta code
</article> <!-- /post -->
<?php if ( ! is_single() ) { ?>
</div>
<?php
<?php } ?>
答案 0 :(得分:1)
添加每个类别的最新帖子非常容易。
首先使用以下代码获取博客的所有类别:
$categories = get_categories();
然后使用foreach ( $categories as $category ) {}
告诉WordPress依次运行所有这些类别,并在花括号内运行代码。
现在,您需要为查询定义参数。在花括号内,添加以下内容:
$args = array(
'cat' => $category->term_id,
'post_type' => 'post',
'posts_per_page' => '1',
);
接下来,使用WP_Query类插入查询:
$query = new WP_Query( $args );
if ( $query->have_posts() ) { ?>
<section class="<?php echo $category->name; ?> listing">
<h2>Latest in <?php echo $category->name; ?>:</h2>
<?php while ( $query->have_posts() ) {
$query->the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'category-listing' ); ?>>
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( 'thumbnail' ); ?>
</a>
<?php } ?>
<h3 class="entry-title">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<?php the_excerpt( __( 'Continue Reading <span class="meta-nav">→</span>', 'twentyfourteen' ) ); ?>
</article>
<?php } // end while ?>
</section>
<?php } // end if
// Use reset to restore original query.
wp_reset_postdata();
这将显示主页中的每个类别帖子。请尝试使用它,如果您有任何问题,请告诉我。