WordPress 自定义分类法taxonomy 的创建与使用方法

在WordPress中创建和使用自定义分类法(Taxonomy)是一种强大的内容组织方式,可以帮助你更好地管理和浏览网站内容。以下是创建和使用自定义分类法的步骤:

1. 创建自定义分类法

使用functions.php文件

打开你的WordPress主题的functions.php文件。这个文件通常位于你的主题文件夹中,你可以通过WordPress后台进入“外观” > “编辑主题”来编辑它。
在functions.php文件中,使用register_taxonomy()函数来创建自定义分类法。这个函数接收三个参数:分类法的名称、分类法用于哪些文章类型以及一些其他参数(可选)。

function create_custom_taxonomy() {  
    register_taxonomy(  
        'my_custom_taxonomy',  // 分类法的名称  
        'post',               // 分类法用于的文章类型(这里以post为例)  
        array(  
            'label' => '我的自定义分类', // 分类法的前端显示标签  
            'labels' => array(  
                'name' => _x('我的自定义分类', 'taxonomy general name'),  
                'singular_name' => _x('我的自定义分类项', 'taxonomy singular name'),  
                'search_items' => __('搜索我的自定义分类项'),  
                'all_items' => __('所有我的自定义分类项'),  
                'parent_item' => __('父级我的自定义分类项'),  
                'parent_item_colon' => __('父级我的自定义分类项:'),  
                'edit_item' => __('编辑我的自定义分类项'),  
                'update_item' => __('更新我的自定义分类项'),  
                'add_new_item' => __('添加新的我的自定义分类项'),  
                'new_item_name' => __('新的我的自定义分类项名称'),  
                'menu_name' => __('我的自定义分类'),  
            ),  
            'hierarchical' => true, // 是否为层次结构(如分类)  
            'show_ui' => true,      // 是否在后台显示UI  
            'show_admin_column' => true, // 是否在文章列表显示该分类法列  
            'query_var' => true,    // 是否允许通过查询字符串访问该分类法  
            'rewrite' => array( 'slug' => 'my-custom-taxonomy' ), // URL重写规则  
        )  
    );  
}  
add_action( 'init', 'create_custom_taxonomy' );

2. 使用自定义分类法

分配分类到文章

当你创建并激活了自定义分类法后,你可以在写文章或编辑文章时看到一个新的分类法字段。
在这个字段中,你可以为你的文章选择或添加自定义分类。
在模板中显示自定义分类

在你的WordPress模板文件中(如single.php、archive.php等),你可以使用WordPress的模板标签来显示文章的自定义分类。

<?php  
$terms = get_the_terms( $post->ID, 'my_custom_taxonomy' );  
if ( $terms && ! is_wp_error( $terms ) ) :   
    foreach ( $terms as $term ) {  
        echo $term->name . ' ';  
    }  
endif;  
?>

这段代码会获取当前文章的自定义分类(名为my_custom_taxonomy)并显示它们的名称。

3. 插件扩展

你还可以使用插件来进一步扩展自定义分类法的功能,例如添加筛选器、改变分类法的显示方式等。你可以通过WordPress的插件目录搜索并安装适合你需求的插件。

请注意,在进行任何更改之前,请务必备份你的WordPress网站以防万一。

4.创建颜色分类法

在WordPress中,要在后台多添加指定的分类栏,你可以使用register_taxonomy函数来注册自定义分类栏,并使用add_actionadd_filter来确保在后台正确显示。以下是一个示例代码,演示如何添加一个名为“Color”的自定义分类栏:

<?php
// 确保WordPress函数环境正确加载
defined( 'ABSPATH' ) || exit;
 
// 注册自定义分类栏
function custom_taxonomies_color() {
    $labels = array(
        'name'                       => _x( 'Colors', 'taxonomy general name' ),
        'singular_name'              => _x( 'Color', 'taxonomy singular name' ),
        'search_items'               => __( 'Search Colors' ),
        'all_items'                  => __( 'All Colors' ),
        'parent_item'                => __( 'Parent Color' ),
        'parent_item_colon'          => __( 'Parent Color:' ),
        'edit_item'                  => __( 'Edit Color' ),
        'update_item'                => __( 'Update Color' ),
        'add_new_item'               => __( 'Add New Color' ),
        'new_item_name'              => __( 'New Color Name' ),
        'menu_name'                  => __( 'Colors' ),
    );
 
    $args = array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'show_admin_column' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'color' ),
    );
 
    register_taxonomy( 'color', array( 'post' ), $args );
}
 
// 添加自定义分类栏的钩子
add_action( 'init', 'custom_taxonomies_color', 0 );
?>

将上述代码添加到你的WordPress主题的functions.php文件中,并激活你的主题,就可以在WordPress后台的“文章”部分看到一个名为“Colors”的新分类栏。这个分类栏可以被用来为文章打上颜色标签。