WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress如何添加自定义分类法

查看 WP集市 的更多文章WP集市 2025-09-01 【WordPress教程】 1356人已围观

  1. WordPress里面默认有文章分类和标签对吧,但有时候你想搞点特殊的分类方式,比如给图书网站加个“体裁”或者给餐厅点评站加个“菜系”,这时候就得用上自定义分类法(Taxonomy)。别被术语吓到,其实就是给内容贴自定义标签的系统。

  2. 先想清楚要不要独立存在——比如“菜系”可能只需要依附于文章(Post),但如果是“品牌”可能就需要单独的自定义文章类型(CPT)。这里假设我们要给普通文章添加一个“心情”分类法,用来标记文章写作时的心情状态。

  3. 打开主题的 functions.php 文件(或者用代码片段插件),塞进去下面这段代码。注意看注释说明:

function register_mood_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,  // 像分类一样有层级,false则像标签
        'public' => true,
        'show_admin_column' => true,  // 在文章列表显示栏
        'show_in_rest' => true  // 支持古腾堡编辑器
    );

    register_taxonomy('mood', array('post'), $args);  // 关联到文章
}
add_action('init', 'register_mood_taxonomy', 0);
  1. 保存刷新后,在文章编辑页面右侧就能看到新出现的“心情”面板。这时候可以像添加分类一样创建“开心”、“压抑”、“兴奋”等词条,每篇文章可以选多个心情状态。

  2. 前端调用时可以用 wp_list_categories 显示所有心情,但需要指定 taxonomy 参数:

wp_list_categories(array(
    'taxonomy' => 'mood',
    'title_li' => '所有心情'
));
  1. 如果想获取某篇文章的心情列表,用 get_the_terms 函数就行:
$moods = get_the_terms(get_the_ID(), 'mood');
if ($moods) {
    foreach($moods as $mood) {
        echo '<span class="0210-4f5b-8ce8-a969 mood-'.$mood->slug.'">'.$mood->name.'</span>';
    }
}
  1. 进阶玩法可以给分类法添加自定义字段——比如给“心情”加个颜色标记,这就需要用到 register_term_meta 或者第三方插件帮忙了。不过记住:每加一个功能前先问问自己是不是真的需要,避免把简单事情复杂化。

  2. 最后提醒:自定义分类法的slug(这里是'mood')是唯一的调用标识,改起来很麻烦,所以一开始就要想好命名。如果换了主题,数据还在但显示逻辑可能需要调整,这就是为什么有时候专业开发者喜欢把这类代码写在自定义插件里而不是主题里。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 280 篇 | 评论 0 次
最新文章