0

0

WordPress分类法是什么?自定义分类怎么设?

星降

星降

发布时间:2025-08-31 09:49:01

|

566人浏览过

|

来源于php中文网

原创

答案:自定义分类法可为特定内容类型创建专属分类体系,通过register_taxonomy()函数关联自定义文章类型,实现数据的高效组织与管理,提升用户体验和seo效果。

wordpress分类法是什么?自定义分类怎么设?

WordPress分类法,简单来说,就是你给网站内容做分类、打标签的工具。它能帮你把庞杂的信息梳理得井井有条,让访客和搜索引擎都能更容易地找到他们想要的东西,就像图书馆里的 Dewey Decimal System,只不过在你的网站上,你可以完全按自己的需求来定制这套系统。而自定义分类法,则是将这种分类能力提升到新的维度,让你能够为特定的内容类型创建独一无二的分类体系。

解决方案

设置自定义分类法,核心在于使用WordPress提供的

register_taxonomy()
函数。这通常是在你的主题的
functions.php
文件中,或者一个自定义插件里完成。我个人倾向于放在插件里,这样即使更换主题,你的自定义分类法也不会丢失,这才是真正的数据结构,不应该依附于视觉层面的主题。

首先,你需要定义你的自定义分类法,这包括它的名称、显示标签以及一些行为参数。

function register_my_custom_taxonomy() {
    // 定义分类法的标签
    $labels = array(
        'name'                       => _x( '产品系列', 'taxonomy general name', 'your-text-domain' ),
        'singular_name'              => _x( '产品系列', 'taxonomy singular name', 'your-text-domain' ),
        'search_items'               => __( '搜索产品系列', 'your-text-domain' ),
        'popular_items'              => __( '热门产品系列', 'your-text-domain' ),
        'all_items'                  => __( '所有产品系列', 'your-text-domain' ),
        'parent_item'                => __( '父级产品系列', 'your-text-domain' ),
        'parent_item_colon'          => __( '父级产品系列:', 'your-text-domain' ),
        'edit_item'                  => __( '编辑产品系列', 'your-text-domain' ),
        'update_item'                => __( '更新产品系列', 'your-text-domain' ),
        'add_new_item'               => __( '添加新产品系列', 'your-text-domain' ),
        'new_item_name'              => __( '新产品系列名称', 'your-text-domain' ),
        'separate_items_with_commas' => __( '用逗号分隔产品系列', 'your-text-domain' ),
        'add_or_remove_items'        => __( '添加或移除产品系列', 'your-text-domain' ),
        'choose_from_most_used'      => __( '从最常用产品系列中选择', 'your-text-domain' ),
        'not_found'                  => __( '未找到产品系列', 'your-text-domain' ),
        'menu_name'                  => __( '产品系列', 'your-text-domain' ),
    );

    // 定义分类法的参数
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => true, // 设置为true表示像分类一样有层级,false则像标签
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
        'rewrite'                    => array( 'slug' => 'product-series' ), // URL重写规则
    );

    // 注册分类法,并关联到特定的文章类型
    // 这里假设你有一个名为 'product' 的自定义文章类型
    register_taxonomy( 'product_series', array( 'product' ), $args );
}
add_action( 'init', 'register_my_custom_taxonomy' );

在这个例子中,我们创建了一个名为

product_series
的自定义分类法,它与一个假设的
product
自定义文章类型相关联。
hierarchical
设置为
true
意味着它会像默认的“分类”一样,可以有父子层级关系,这对于组织产品系列非常有用。如果你想让它像“标签”一样,没有层级,那就设置为
false
rewrite
参数则控制了你的分类法在URL中的表现形式,比如
yourdomain.com/product-series/summer-collection/

完成这些代码并保存后,刷新你的WordPress后台,你会在

产品
(如果你的自定义文章类型叫这个)菜单下看到一个新的“产品系列”子菜单,你就可以开始添加和管理你的自定义分类法术语了。

为什么标准分类和标签不够用?何时需要自定义分类法?

我经常听到有人问,WordPress不是已经有“分类”和“标签”了吗,为什么还要搞什么自定义分类法,这不是把简单的事情复杂化吗?说实话,一开始我也是这么想的。但随着项目越来越复杂,我发现默认的分类和标签,它们的局限性很快就显现出来了。

“分类”和“标签”是为通用博客内容设计的,它们很好地服务于文章(post)这种默认内容类型。但如果你的网站不仅仅是博客呢?假设你正在构建一个在线商店,你需要管理“产品”。那么,“产品”本身就应该是一种独立的内容类型(即自定义文章类型)。这时候,如果仍然用默认的“分类”来划分产品,比如“电子产品”、“服装”,那看起来似乎也行。但如果我想进一步细分,比如按“品牌”、“材质”、“适用人群”来分类,这些信息对于“文章”来说毫无意义,对于“产品”却是核心属性。

这就是自定义分类法的价值所在。它让你能够为特定的内容类型创建高度相关的分类体系。比如,为“产品”创建“品牌”分类法,为“电影”创建“导演”或“类型”分类法,为“食谱”创建“菜系”或“食材”分类法。这些分类法与它们所依附的内容类型紧密关联,提供了一种更精确、更有意义的组织方式。在我看来,它不仅提升了用户体验,让用户能更快地找到他们想要的东西,也极大地方便了后台管理,让内容编辑者能更直观地理解和操作数据。更重要的是,对于SEO来说,这种语义化的URL结构和内容组织,能让搜索引擎更好地理解你的网站内容,从而可能提升你的排名。

自定义分类法与自定义文章类型:它们是天生一对吗?

是的,在我多年的WordPress开发经验中,我几乎总是将自定义分类法与自定义文章类型(Custom Post Types, CPT)视为一对不可分割的搭档。它们之间的关系,就像是骨架和肌肉——CPT提供了内容的结构(骨架),而自定义分类法则提供了内容的组织和描述(肌肉和筋络)。

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载

想象一下,你创建了一个名为“图书”的自定义文章类型。如果没有自定义分类法,你的图书内容可能就只能通过默认的“分类”和“标签”来组织。但“图书”有其独特的属性,比如“作者”、“出版社”、“体裁”等。这些属性,用默认的分类和标签来表示,会显得非常别扭,甚至会污染你的全局分类和标签列表。

这时,自定义分类法就派上用场了。你可以为“图书”这个CPT创建:

  • 一个名为“作者”的自定义分类法
  • 一个名为“出版社”的自定义分类法
  • 一个名为“体裁”的自定义分类法

这样,每一本图书在后台编辑时,都会有专门的模块让你选择或添加作者、出版社和体裁,而这些选择只针对“图书”这种内容类型有效。这种强关联性,使得数据结构更加清晰、逻辑更加严谨。在前端展示时,用户可以通过点击“作者”或“体裁”来浏览所有相关的图书,这极大地增强了网站的导航性和内容的发现性。

从技术实现上讲,

register_taxonomy()
函数的第二个参数就是用来指定这个自定义分类法要关联到哪些文章类型。比如
register_taxonomy( 'genre', array( 'book', 'movie' ), $args );
就可以让“体裁”分类法同时作用于“图书”和“电影”这两种内容。这种灵活性,让你可以根据实际需求,构建出非常强大和精细的内容管理系统。可以说,没有自定义文章类型,自定义分类法的作用会大打折扣;反之亦然。它们共同构成了WordPress强大的内容管理能力的核心。

管理自定义分类法:后台界面与查询技巧

自定义分类法一旦注册成功,其管理界面和操作方式与WordPress自带的分类和标签非常相似,这大大降低了学习成本。在WordPress后台,你会发现你的自定义文章类型菜单下多了一个子菜单,点击进去就是该分类法的管理页面。在这里,你可以添加新的分类术语(term)、编辑现有术语、删除术语,以及管理它们的层级关系(如果

hierarchical
设置为
true
)。

例如,如果你创建了“产品系列”分类法,并在后台添加了“夏季新品”、“冬季特惠”等术语,那么当你编辑一个“产品”文章时,右侧的侧边栏就会出现一个“产品系列”的元数据框,你可以像选择文章分类一样,勾选或添加新的产品系列。

在前端展示自定义分类法的内容时,我们主要依赖

WP_Query
。这是WordPress查询内容的强大工具。要查询属于某个自定义分类法术语的文章,你需要在
WP_Query
的参数中加入
tax_query

$args = array(
    'post_type' => 'product', // 查询自定义文章类型 'product'
    'posts_per_page' => 10,
    'tax_query' => array(
        array(
            'taxonomy' => 'product_series', // 你的自定义分类法名称
            'field'    => 'slug',           // 可以是 'slug', 'name', 'term_id'
            'terms'    => 'summer-collection', // 你想要查询的术语的slug
        ),
    ),
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // 显示产品内容,比如标题、缩略图等
        the_title();
        the_post_thumbnail();
    }
    wp_reset_postdata(); // 恢复原始文章数据
} else {
    // 没有找到相关产品
}

这段代码会查询所有属于“summer-collection”这个“产品系列”的“产品”。

tax_query
数组允许你进行更复杂的查询,比如查询属于多个分类法或多个术语的文章,或者使用
operator
参数(如
AND
,
OR
,
NOT IN
)来组合查询条件。这种灵活性使得你可以构建出非常精细的内容列表和筛选功能,这对于电商网站、目录网站等尤其重要。掌握
WP_Query
tax_query
参数,是充分发挥自定义分类法威力的关键一步。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

548

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

30

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

44

2026.01.06

什么是搜索引擎
什么是搜索引擎

搜索引擎是一种互联网工具,用于帮助用户在网上查找信息。搜索引擎的目标是提供最准确、最有价值的搜索结果,使用户能够快速找到所需的信息。本专题为大家提供搜索引擎相关的各种文章、以及下载和课程。

487

2023.08.02

有哪些目录搜索引擎
有哪些目录搜索引擎

目录搜索引擎有Google、Bing、Yahoo、Baidu、DuckDuckGo等。想了解更多目录搜索引擎的相关内容,可以阅读本专题下面的文章。

6389

2023.11.06

搜索引擎营销的主要模式
搜索引擎营销的主要模式

搜索引擎营销的主要模式包括:1. 竞价排名(ppc);2. 搜索引擎优化(seo);3. 本地搜索营销;4. 购物广告;5. 视频广告;6. 展示广告;7. 社交媒体营销;8. 移动广告。想了解更多搜索引擎营销的相关内容,可以阅读本专题下面的文章。

473

2024.05.20

wordpress seo
wordpress seo

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

435

2023.09.18

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

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

335

2024.04.15

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号