wordpress获取分类下文章列表三种方法

我们在wordpress主题开发中, 在调取分类下的文章,我们通常是使用query_posts()函数,今天我们一起总结一下各种方法的优劣,注意:请确保你使用如下代码是在分类或者归档页。

一、使用query_posts()函数

以下代码实际上使用query_posts()函数调取分类目录下的文章,showposts是调取的数量。

<?php
$cats = get_categories();  //获取所有分类
foreach ( $cats as $cat ) {
    $args = [
            'showposts'=>10,  //我爱主题网提示你这里为调用的文章数量
            'cat'=>$cat->cat_ID  //此处为遍历的分类ID,注意前面的参数cat表示包括子分类
    ];
    query_posts( $args);
    ?>
    <h3><?php echo $cat->cat_name; ?></h3>
    <ul class="sitemap-list">
        <?php while ( have_posts() ) { the_post(); ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php } wp_reset_query(); ?>
    </ul>
<?php } ?>

在官方文档中,这样强调:“如果我们不得不用到query_posts(),必须确保每次使用query_posts()后同时执行wp_reset_query();”。这就是为什么在上面的代码中加上了wp_reset_query()的原因。

修改其中的数字10可以设定显示的篇数,可用于在单页面上显示全部分类文章。

二、使用get_posts()函数

只需通过get_posts来获取分类ID就可以输出分类下的文章,以及通过numberposts来控制文章显示的数量。

<?php $posts = get_posts( "category=4&numberposts=10" ); ?>  
<?php if( $posts ) : ?>  
<ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?>  
<li>  
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a>  
</li>  
<?php endforeach; ?>  
</ul>  
<?php endif; ?>

三、结合wp_list_categories()函数输出分类标题

<?php $posts = get_posts( "category=4&numberposts=10" ); ?>  
<?php if( $posts ) : ?>  
<ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?>  
<li>  
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a>  
</li>  
<?php endforeach; ?>  
</ul>  
<?php endif; ?>
我爱主题网 自2012
主题:260+ 销售:1000+
兼容浏览器

电话咨询

7*12服务咨询电话:

133-7205-6573

微信咨询