wordpress创建自定义分类法教程

什么是自定义分类法?Category(分类目录)和post_tag(标签)是wordpress内置的两种分类法,其作用是把文章进行栏目分类管理和归类显示。前面分享了wordpress创建自定义文章类型教程,现在给创建的自定义文章类型添加分类栏目功能(即自定义分类法)。

创建自定义分类法

添加分类功能需要使用函数register_taxonomy(),使用方法和注册自定义文章类型函数类似,区别是多了一个参数用来关联对应的自定义文章类型。

函数结构如下:
1
register_taxonomy( $taxonomy, $object_type, $args );

$taxonomy 字符串型,必需,分类法的名称,用英文;

$object_type数组或字符串,必需,分类法所对应的文章类型(如前面博客吧创建的自定义文章类型product)

$args配置参数,可选,跟register_post_type函数的$args参数类似,详情请看wordpress创建自定义文章类型教程

本教程可以配置如下常用参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function my_taxonomies_product() {
	$labels = array(
		'name'              => _x( '产品分类', 'taxonomy 名称' ),
		'singular_name'     => _x( '产品分类', 'taxonomy 单数名称' ),
		'search_items'      => __( '搜索产品分类' ),
		'all_items'         => __( '所有产品分类' ),
		'parent_item'       => __( '该产品分类的上级分类' ),
		'parent_item_colon' => __( '该产品分类的上级分类:' ),
		'edit_item'         => __( '编辑产品分类' ),
		'update_item'       => __( '更新产品分类' ),
		'add_new_item'      => __( '添加新的产品分类' ),
		'new_item_name'     => __( '新产品分类' ),
		'menu_name'         => __( '产品分类' ),
	);
	$args = array(
		'labels' => $labels,
		'public'            => true,
		'show_in_nav_menus' => true,
		'hierarchical' => true, //控制自定义分类法的格式,如果值是false,则将分类(category)转化成标签(tags)
		'show_ui'           => true,
		'query_var'         => true,
        'rewrite'           => true,
        'show_admin_column' => true
	);
	register_taxonomy( 'products', 'product', $args );//products是该自定义分类法的名称;product是对应的自定义文章类型名称
}
add_action( 'init', 'my_taxonomies_product', 0 );

把上面的代码添加到主题的functions.php文件,后台的“产品”自定义文章类型下面就会出现“产品分类”,然后就可以按正常分类目录一样创建分类:

wordpress创建自定义分类法教程

发布产品的时候,右侧就可以选择产品分类:

wordpress创建自定义分类法教程

调用自定义分类法文章

自定义分类法的分类列表页面模板文件是taxonomy.phptaxonomy-{taxonomy_slug}.phptaxonomy.php是所有自定义分类法默认调用的模板文件,taxonomy-{taxonomy_slug}.php则是指定自定义分类法调用的模板文件,比如本教程中创建的自定义分类法products,使用taxonomy-products.php文件即可指定调用。

发表留言