
您现在的位置是:首页 > WordPress教程WordPress教程
如何创建WordPress自定义分类法
WP集市
2025-08-26
【WordPress教程】
1943人已围观
-
首先你得明白,WordPress自带的分类和标签其实就属于分类法(Taxonomy),但有时候你需要更个性化的内容分组方式。比如你建了个电影网站,光靠默认分类根本不够用——这时候就得自己造一个,比如“电影类型”或者“导演”这样的自定义分类法。
-
操作起来其实不复杂,主要用到一个叫 register_taxonomy() 的函数。你通常会把这段代码扔进主题的 functions.php 文件里,或者用自定义插件实现(更推荐插件方式,避免主题更新丢失代码)。下面是个典型例子,我给电影站点添加“电影类型”分类:
function create_movie_genre_taxonomy() {
$labels = array(
'name' => '电影类型',
'singular_name' => '电影类型',
'search_items' => '搜索类型',
'all_items' => '所有类型',
'edit_item' => '编辑类型',
'update_item' => '更新类型',
'add_new_item' => '添加新类型',
'new_item_name' => '新类型名称',
'menu_name' => '电影类型',
);
$args = array(
'labels' => $labels,
'hierarchical' => true, // 设为true像分类,false则像标签
'public' => true,
'show_admin_column' => true, // 在文章列表显示专栏
'rewrite' => array('slug' => 'genre'),
);
register_taxonomy('movie_genre', 'post', $args); // 关联到文章类型
}
add_action('init', 'create_movie_genre_taxonomy', 0);
-
注意看那个 hierarchical 参数,它决定了分类法的行为模式。如果设为 true,你就可以像默认分类那样建立父子层级结构(比如“动作片->武侠片”);如果设为 false,那它就更像标签,扁平化且没有层级关系。
-
代码里的 'movie_genre' 是分类法的内部标识(slug),最好用英文且保证唯一性。而 'post' 表示这个分类法关联到文章类型,如果你需要挂到自定义文章类型上,就把 'post' 改成你的自定义文章类型标识符。
-
保存代码后刷新后台,你就能在文章编辑栏侧边看到新出现的“电影类型”面板了。这时候你可以直接添加分类项,比如“科幻”、“喜剧”什么的——它们会像原生分类那样工作,支持归档页和固定链接。
-
有时候你可能会遇到权限问题或者缓存没更新,这时候可以去设置->固定链接里随便点一下“保存更改”,不用实际修改任何东西,这操作能强制刷新重写规则。
-
进阶用法还能给分类法添加自定义字段,比如想给每个电影类型加个代表性图标?那就需要用到 add_term_meta() 这类函数了,或者借助Advanced Custom Fields这类插件实现更直观的界面——不过那就是另一个话题了。
-
最后记得,自定义分类法的数据都会存在数据库的term相关表里,所以即使你后来移除代码,那些分类项也不会自动消失。这种设计挺好的,避免误操作导致数据丢失,毕竟内容才是网站的核心资产嘛。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
