WordPress分类法是什么?自定义分类怎么设?(分类法,自定义,分类,WordPress.....)

feifei123 发布于 2025-09-17 阅读(2)
答案:自定义分类法可为特定内容类型创建专属分类体系,通过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提供了内容的结构(骨架),而自定义分类法则提供了内容的组织和描述(肌肉和筋络)。

燕雀光年
燕雀光年

一站式AI品牌设计平台,支持AI Logo设计、品牌VI设计、高端样机设计、AI营销设计等众多种功能

燕雀光年68
查看详情 燕雀光年

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

这时,自定义分类法就派上用场了。你可以为“图书”这个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
参数,是充分发挥自定义分类法威力的关键一步。

以上就是WordPress分类法是什么?自定义分类怎么设?的详细内容,更多请关注资源网其它相关文章!

相关标签:
php word 前端 wordpress 工具 ai 为什么 php Array 数据结构 operator Collection 搜索引擎 WordPress SEO

大家都在看:

WordPress的PHP错误怎么调试?查看错误日志? WordPress的PHP版本怎么升级?最低要求? 如何关闭 WordPress 中的 PHP 错误 修复:WordPress 内存耗尽错误 – 增加 PHP 内存 使用XML-RPC和PHP将图片上传到WordPress

标签:  php word 前端 wordpress 工具 ai 为什么 Array 数据结构 operator Collection 搜索引擎 WordPress SEO 大家都在看: WordPress的PHP错误怎么调试?查看错误日志? WordPress的PHP版本怎么升级?最低要求? 如何关闭 中的 PHP 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。