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

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

<?php
    $cats = get_categories();
    foreach ( $cats as $cat ) {
    query_posts( 'showposts=10&cat=' . $cat->cat_ID );
?>
    <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可以设定显示的篇数,可用于在单页面上显示全部分类文章。

2、使用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; ?>

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

<h2> <?php wp_list_categories('include=11&title_li=&style=none'); ?> </h2>
      <!--//输出 ID 为11的分类的标题 -->
         <?php  echo category_description(11); ?>
      <!--//输出 ID 为11的分类的描述 -->
          <?php query_posts('showposts=10&cat=11'); ?>
      <!-- //query_posts 给 The Loop 限定的条件是:显示12篇日志和分类 ID 为11 -->
           <?php while (have_posts()) : the_post(); ?>
      <!--//The Loop 开始 -->
     <li>
      <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><? echo wp_trim_words( get_the_title(),24 ); ?></a>
       <?php  the_time('m/d'); ?>
     </li>
      <!-- //用列表的方式输出带有链接的文章标题-->
            <?php endwhile;wp_reset_query(); ?>
      <!--//The Loop 结束 -->

4、自定义函数

function popularPosts($num) {  
    global $wpdb;  
    $posts = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , $num");    
    foreach ($posts as $post) {  
        setup_postdata($post);  
        $id = $post->ID;  
        $title = $post->post_title;  
        $count = $post->comment_count;  
          
        if ($count != 0) {  
            $popular .= '<li>';  
            $popular .= '<a href="' . get_permalink($id) . '" title="' . $title . '">' . $title . '</a> ';  
            $popular .= '</li>';  
        }  
    }  
    return $popular;  
}

主题测试文章,只做测试使用。发布者:zhaolou,转转请注明出处:https://www.zhaolou.cc/archives/4224

(0)
zhaolou's avatarzhaolou
上一篇 2025年3月19日 下午7:19
下一篇 2025年3月22日 上午10:14

相关推荐

  • 2025 最新对比:Blocksy Pro、Kadence、Astra 功能+价格+性能全解析!

    总体结论: Blocksy Pro = 视觉表现最强 + 功能集最多 + 动效细腻Kadence = 轻便易用 + 电商友好 + 性能均衡Astra = 性能最优 + 生态强大 + 适合SEO和内容站 01. 功能模块对比功能模块Blocksy ProKadenceAstraHeader/Footer Builder✅ 拖拽+动态显示逻辑✅ 拖拽+条件逻辑支…

    外贸 2025年7月6日
    3.0K00
  • 如何用 Semrush + Google Trends + Ahrefs 高效挖掘关键词?

    作为Google SEO中最核心的一步,关键词挖掘不仅关系到流量多少,还决定了你内容能否打入目标用户搜索视野。本文以“xxx”为例,带你实操一遍关键词挖掘与筛选的完整流程。 ✅ Step 1:用 Semrush 查询关键词基础数据(Keyword Overview) 打开 Semrush,在左侧点击【Keyword Overview】,输入你想查询的关键词,…

    google seo 2025年5月14日
    4.1K00
  • RankMath SEO插件导致TAG页面无法收录的解决办法

    1、GSC报错 2、看了受影响的页面,果然! 3、再去看RankMathSEO插件生成的sitemap,有post,page,category,但是也没有tag,那就是插件本身并没有开启收录tag页面。 RankMath SEO插件解决tag页面正常收录的解决办法1、RankMath SEO-post-tag-tag archives robots meta…

    2025年4月13日
    1.8K00
  • WordPress常用插件推荐(外贸)

    WordPress有海量拓展的插件能满足我们功能需求,以下是外贸网站中常用的插件推荐,包括但不限于:页面设计插件、SEO优化插件、速度优化插件、完全防护插件、询盘跟踪插件等等。 有免费的、付费的,大部分为付费,需要手动安装插件并在线授权。 插件名称 插件作用 插件费用 页面设计类 Elementor 页面设计插件,需要支持此插件的主题配合使用 免费 Elem…

    外贸 2025年5月14日
    2.8K00
  • WordPress 时间日期函数

    我们用wordpress系统进行网站建设开发网站时,关于wordpress的时间相关函数应用,以及wp的时间显示函数。 1、输出 2024-12-25 <?phpthe_time(‘Y-m-d’);?> 2、输出时间,如:10:35:28 <?phpthe_time(‘G:i:s’);?> 3、输出 2024年12月25日 <?…

    外贸 2025年3月22日
    1.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:156738051@qq.com

工作时间:周一至周五,9:00-18:00,节假日休息

关注微信