除了显示最新帖子外,如何在WordPress主页上显示每个类别的最新帖子?

时间:2018-11-23 06:53:18

标签: wordpress wordpress-theming

我有显示我网站上最新帖子的代码,但是我想知道是否有一种方法可以列出最新帖子,每个类别仅显示一个帖子。假设我有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 } ?>

1 个答案:

答案 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">&rarr;</span>', 'twentyfourteen' ) ); ?>

            </article>

        <?php } // end while ?>

    </section>

<?php } // end if

// Use reset to restore original query.
wp_reset_postdata();

这将显示主页中的每个类别帖子。请尝试使用它,如果您有任何问题,请告诉我。