当前位置:首页 > CMS教程 > 正文

WordPress如何调用分类文章?

在WordPress中调用特定分类的文章,常用方法是使用 WP_Query类或 get_posts()函数,通过设置 'category_name''cat'参数指定目标分类,也可在模板文件中直接使用 query_posts()实现分类文章列表的查询与展示。

在WordPress中调用特定分类的文章是常见需求,无论是展示专题内容还是构建分类归档页,以下是四种主流方法,适用于不同技术水平的用户:

使用区块编辑器(新手推荐)

适用于古腾堡编辑器用户,无需代码:

  1. 编辑文章/页面时添加 「最新文章」区块
  2. 在右侧面板的 「区块设置」→「查询设置」
  3. 选择 「按分类筛选」 并指定目标分类
  4. 调整显示数量、排序方式(日期/标题等)和布局样式
  5. 更新页面即可实时显示该分类下的文章列表

优势:可视化操作,实时预览,支持响应式布局
局限:自定义程度有限,依赖主题兼容性

WordPress如何调用分类文章?  第1张


短代码调用(中等难度)

通过插件或主题内置功能实现:

  1. 安装轻量级插件 「Display Posts Shortcode」(10万+活跃安装)
  2. 在任意页面/文章插入短代码:
    [display-posts category="技术教程" posts_per_page="5" orderby="date"]
  3. 常用参数:
    • category="slug或ID"(分类别名或ID)
    • posts_per_page="数量"
    • order="ASC/DESC"(升序/降序)
    • include_excerpt="true"(显示摘要)

技巧:用 category_display="list" 生成带样式的列表,wrapper_class="custom-class" 添加自定义CSS


WP_Query 代码调用(开发者方案)

在主题模板文件(如 sidebar.php 或自定义模板)中添加:

<?php 
$cat_query = new WP_Query( array(
  'category_name'  => 'news', // 分类别名
  'posts_per_page' => 6,      // 显示篇数
  'orderby'        => 'modified' // 按修改时间排序
));
if ( $cat_query->have_posts() ) :
  while ( $cat_query->have_posts() ) : $cat_query->the_post(); ?>
    <article>
      <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
      <time><?php the_date(); ?></time>
      <p><?php echo wp_trim_words(get_the_excerpt(), 20); ?></p>
    </article>
  <?php endwhile; 
  wp_reset_postdata(); // 重置查询
endif; ?>

关键参数

  • category__in:按分类ID数组调用
  • ignore_sticky_posts:忽略置顶文章
  • tax_query:多分类联合查询

分类归档页定制(SEO优化方案)

直接优化分类默认页面(如 /category/news/):

  1. 创建 category-{slug}.php 模板(如 category-news.php
  2. 使用标准循环结构:
    <?php if ( have_posts() ) : 
    while ( have_posts() ) : the_post();
     // 调用文章内容模板
     get_template_part( 'template-parts/content', 'archive' );
    endwhile;
    // 分页导航
    the_posts_pagination( array( 'mid_size' => 2 ) ); 
    endif; ?>

注意事项

  1. 性能优化
    • 控制 posts_per_page 避免加载过多文章
    • 对静态页面使用缓存插件(如 WP Rocket)
    • 频繁更新的列表建议设置 'cache_results' => false
  2. SEO 友好性
    • 为分类列表添加结构化数据(Schema ArticleList)
    • 确保分页标签包含 rel="prev/next" 属性
    • 使用 <h2> 而非 <h1> 保持层级清晰
  3. 移动端适配
    • 测试列表在移动设备的触摸滑动体验
    • 图片使用 srcset 响应式加载

方法选择建议

用户类型 推荐方案 工具依赖
普通编辑 区块编辑器 WordPress 原生
主题开发者 WP_Query 定制 代码编辑器
SEO 优化需求 分类归档页模板 子主题文件

所有方案均需遵循 WordPress 编码标准,修改核心文件前务必创建子主题,数据调用优先使用 WP_Query 而非 query_posts() 避免主循环冲突。


引用说明
[1] WordPress官方区块编辑器文档 https://wordpress.org/support/article/wordpress-editor/
[2] Display Posts插件参数手册 https://displayposts.com/docs/
[3] WP_Query类参考(开发者资源) https://developer.wordpress.org/reference/classes/wp_query/
[4] Google E-A-T算法指南 https://developers.google.com/search/docs/essentials/experience-entity

0