讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

Laper
Laper

剧本策划到成片协作

updream

一键生成高质量推广成片

立刻MV
立刻MV

低成本歌曲 MV、视频生成

WordPress中按分类名称获取全部文章的完整教程

胖涛同学_6519

胖涛同学_6519

发布时间:2026-02-13 09:43:45

|

398人浏览过

|

来源于php中文网

原创

WordPress中按分类名称获取全部文章的完整教程

本文详解如何在wordpress主题或插件中,使用php函数get_posts()精准获取指定分类(按名称或id)下的所有已发布文章,并动态生成带链接的分类标题列表,避免误跳转到分类归档页。

在WordPress开发中,常需根据分类名称(如“fruit”或“vegetables”)拉取其下所有已发布文章,而非仅显示分类链接(如get_category_link()返回的是分类归档页URL)。你当前的代码仅循环输出分类本身,而目标是:显示分类名称,但点击后跳转至该分类下的某篇具体文章(例如“Best Vegetables”)——这需要先查询属于该分类的文章集合,再从中选取或遍历渲染。

✅ 正确实现方式:使用 get_posts() 按分类筛选

WordPress 提供了灵活的 get_posts() 函数,支持通过 category_name(分类别名/slug)或 category(分类ID)参数精确过滤文章。以下是两种推荐用法:

SEO Keyword Density
SEO Keyword Density

SEO关键词密度优化与页面审计技能。使用场景:①提供页面路径与关键词进行SEO优化;②提升页面关键词密度;③提升搜索引擎排名;④进行SEO审计(meta标签、OG、hreflang等)。触发词:关键词密度、SEO优化、关键词优化等。

下载

1. 按分类 slug 获取文章(推荐,语义清晰)

<?php
// 获取 slug 为 'fruit' 的分类下所有已发布文章
$args = array(
    'post_type'      => 'post',
    'post_status'    => 'publish',
    'category_name'  => 'fruit', // 注意:此处填分类slug,非中文名称
    'posts_per_page' => -1,      // 获取全部,不限数量
);
$fruit_posts = get_posts($args);

if (!empty($fruit_posts)) {
    foreach ($fruit_posts as $post) {
        setup_postdata($post); // 启用模板标签(如 the_title(), get_permalink())
        echo '<div class="col-md-4">';
        echo '<a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a>';
        echo '</div>';
    }
    wp_reset_postdata(); // 重置全局 $post 对象,确保后续循环正常
}
?>
⚠️ 关键注意:category_name 参数接收的是分类的 slug(如 fruit),而非后台显示的中文名称(如“水果”)。若不确定 slug,可在 WordPress 后台 → 文章 → 分类目录中,将鼠标悬停在分类名称上,浏览器状态栏或右键检查链接,查看 URL 中的 tag_ID= 或路径末尾部分;或使用 get_term_by('name', '水果', 'category') 先查出 slug。

2. 按分类 ID 获取(适合多分类或需精确控制)

<?php
// 获取 ID 为 5 和 8 的分类下的文章(支持多个ID,用英文逗号分隔)
$args = array(
    'post_type'    => 'post',
    'post_status'  => 'publish',
    'category'     => '5,8',
    'posts_per_page' => 6,
);
$posts = get_posts($args);
?>

? 扩展:为多个分类批量生成文章链接列表

若你想为“fruit”和“vegetables”两个分类分别展示其下的首篇文章(满足“点击分类名即跳转到对应最佳文章”的需求),可这样组织逻辑:

<?php
$category_slugs = array('fruit', 'vegetables');
foreach ($category_slugs as $slug) {
    $posts = get_posts(array(
        'post_type'      => 'post',
        'post_status'    => 'publish',
        'category_name'  => $slug,
        'posts_per_page' => 1, // 只取第一篇(如"Best Fruits")
        'orderby'        => 'date',
        'order'          => 'DESC'
    ));

    if (!empty($posts)) {
        $post = $posts[0];
        $category = get_term_by('slug', $slug, 'category');
        $category_name = $category ? $category->name : ucfirst($slug);
        echo '<div class="col-md-4">';
        echo '<a href="' . get_permalink($post->ID) . '">' . esc_html($category_name) . '</a>';
        echo '</div>';
    }
}
?>

✅ 最佳实践与注意事项

  • 始终调用 wp_reset_postdata():在 get_posts() + setup_postdata() 后必须重置,否则可能干扰主循环(如首页文章列表)。
  • 安全输出内容:使用 esc_html() 处理分类名称,get_permalink() 和 get_the_title() 已做基础转义,但仍建议对用户可控字段额外过滤。
  • 性能考虑:避免在循环内多次调用 get_posts();如需处理大量分类,建议一次性查出所有相关文章并分组。
  • 替代方案提醒:WP_Query 更适合复杂查询或需分页场景;get_posts() 是轻量封装,内部即调用 WP_Query,二者性能差异可忽略。

掌握 get_posts() 的分类筛选能力,你就能精准控制内容流向——让“分类名”真正成为通往优质内容的入口,而非归档页的跳板。

热门AI工具

更多
PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

相关专题

更多
wordpress seo
wordpress seo

WordPress网站SEO优化方法有:1、选择一个SEO友好的主题,具有清晰的代码结构,快速的加载速度和响应式设计;2、使用SEO插件,优化你的标题标签,元描述,关键字,XML站点地图等;3、优化你的内容,内容是SEO优化的核心;4、优化你的网站速度;5、创建友好的URL;6、使用内部链接;7、优化图像;8、使用社交媒体;9、定期更新你的网站;10、监控和分析你的网站等等。

6715

2023.09.18

wordpress下载后怎么安装
wordpress下载后怎么安装

安装前准备:确保服务器满足要求、获取安装文件、创建数据库。上传 wordpress 文件。创建数据库和用户。运行安装程序:选择语言、输入数据库信息、网站标题和管理员信息。安装 wordpress。安装后配置:设置永久链接、安装主题、安装插件、创建内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

6779

2024.04.15

WordPress插件教程
WordPress插件教程

本专题整理热门WordPress插件资源,涵盖SEO优化、缓存加速、安全防护、表单管理、电商扩展等插件推荐与使用教程。

338

2026.06.16

WordPress建站教程大全
WordPress建站教程大全

本专题汇总WordPress教程相关内容,包括WordPress安装教程、建站教程、使用技巧、网站管理经验和实战案例,帮助用户快速掌握WordPress建站与运营方法。

880

2026.06.16

WordPress开发教程
WordPress开发教程

本专题提供WordPress开发技术资料,包括主题开发、插件开发、自定义功能开发、API调用及性能优化等内容。

1018

2026.06.16

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

60

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

40

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

40

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

60

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
如何在 Windows 11 上安装 XAMPP
如何在 Windows 11 上安装 XAMPP

共1课时 | 236人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 12.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn