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

相关推荐

  • Kadence 与 Astra 对比分析(2025最新版)

    对比维度 Kadence Astra 🌐 官方网站 kadencewp.com wpastra.com 🚀 加载速度 极快(Gutenberg 原生优化) 极快(轻量 HTML 构建) 🎨 设计灵活性 Header/Footer Builder + 内置区块设计(Kadence Blocks) Header/Footer Builder + Elemento…

    外贸 2025年5月14日
    1.9K00
  • wordpress和shopify的详细区别

    wordPress 和 Shopify 是目前最流行的两大建站平台之一,尤其适用于电商、内容型网站或个人博客。它们各有优势,适合不同需求。 下面我们从功能、适用人群、价格、扩展性、操作难度等方面,来详细比较一下两者的区别。 一、基本定义 🧩 WordPress 👉 重点讨论 WordPress.org,是大多数建站者首选。 🛒 Shopify 二、核心定位区…

    外贸 2025年4月8日
    1.2K00
  • 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.2K00
  • wordpress 进行文章列表分页

    把以下代码放入:functions.php function lingfeng_pagenavi( $range = 4 ) { global $paged,$wp_query; if ( !$max_page ) { $max_page = $wp_query->max_num_pages; } if( $max_page >1 ) { ech…

    外贸 2025年3月22日
    1.1K00
  • wordpress常用标签大全

    WordPress Header头部 PHP代码 <?php bloginfo(‘name’); ?> 网站标题 <?php wp_title(); ?> 日志或页面标题 <?php bloginfo(‘stylesheet_url’); ?> WordPress主题样式表文件style.cs…

    外贸 2025年4月19日
    1.1K00

发表回复

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

联系我们

在线咨询: QQ交谈

邮件:156738051@qq.com

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

关注微信