register_taxonomy
是 WordPress 中的一个函数,用于注册自定义分类法(taxonomy)。分类法是用来对内容进行分类和组织的系统,类似于标签或类别。与内置的 category
和 post_tag
分类法不同,自定义分类法允许你创建自己的分类系统。
WordPress 中的自定义分类法主要有以下几种类型:
category
,具有层级结构,可以有父分类和子分类。post_tag
,没有层级结构,每个项都是独立的。register_taxonomy
函数注册的自定义分类法。自定义分类法适用于以下场景:
如果在 WordPress 中使用 register_taxonomy
后,分类法没有显示或出现在管理页面或帖子类型中,可能是以下原因导致的:
init
钩子中注册分类法,而不是在其他钩子中。以下是一个简单的示例,展示如何在 WordPress 中注册一个自定义分类法:
function custom_taxonomy_init() {
$labels = array(
'name' => _x( 'Custom Taxonomies', 'taxonomy general name', 'textdomain' ),
'singular_name' => _x( 'Custom Taxonomy', 'taxonomy singular name', 'textdomain' ),
'search_items' => __( 'Search Custom Taxonomies', 'textdomain' ),
'all_items' => __( 'All Custom Taxonomies', 'textdomain' ),
'parent_item' => __( 'Parent Custom Taxonomy', 'textdomain' ),
'parent_item_colon' => __( 'Parent Custom Taxonomy:', 'textdomain' ),
'edit_item' => __( 'Edit Custom Taxonomy', 'textdomain' ),
'update_item' => __( 'Update Custom Taxonomy', 'textdomain' ),
'add_new_item' => __( 'Add New Custom Taxonomy', 'textdomain' ),
'new_item_name' => __( 'New Custom Taxonomy Name', 'textdomain' ),
'menu_name' => __( 'Custom Taxonomies', 'textdomain' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'custom-taxonomy' ),
);
register_taxonomy( 'custom_taxonomy', array( 'post' ), $args );
}
add_action( 'init', 'custom_taxonomy_init', 0 );
通过 register_taxonomy
函数注册自定义分类法可以提供灵活的内容组织方式。如果分类法没有显示或出现在管理页面或帖子类型中,可能是注册顺序、权限或代码错误导致的。通过检查上述问题并参考示例代码,可以解决这些问题。
领取专属 10元无门槛券
手把手带您无忧上云