首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在WordPress中,register_taxonomy不显示/出现在管理页面或帖子类型中

基础概念

register_taxonomy 是 WordPress 中的一个函数,用于注册自定义分类法(taxonomy)。分类法是用来对内容进行分类和组织的系统,类似于标签或类别。与内置的 categorypost_tag 分类法不同,自定义分类法允许你创建自己的分类系统。

相关优势

  1. 灵活性:可以创建多种类型的分类法,以满足不同的内容组织需求。
  2. 扩展性:自定义分类法可以与插件和主题更好地集成,提供更多的功能和定制选项。
  3. 用户体验:通过自定义分类法,可以提供更清晰、更有逻辑的内容导航方式。

类型

WordPress 中的自定义分类法主要有以下几种类型:

  1. 普通分类法(Hierarchical Taxonomy):类似于 category,具有层级结构,可以有父分类和子分类。
  2. 非层级分类法(Non-Hierarchical Taxonomy):类似于 post_tag,没有层级结构,每个项都是独立的。
  3. 自定义分类法:通过 register_taxonomy 函数注册的自定义分类法。

应用场景

自定义分类法适用于以下场景:

  1. 多维度的内容分类:例如,一个博客可能需要按主题、作者、发布日期等多种维度进行分类。
  2. 复杂的网站结构:对于大型网站或内容管理系统,自定义分类法可以帮助更好地组织和管理内容。
  3. 特定功能的插件:一些插件可能需要自定义分类法来实现其特定功能。

问题原因及解决方法

如果在 WordPress 中使用 register_taxonomy 后,分类法没有显示或出现在管理页面或帖子类型中,可能是以下原因导致的:

  1. 注册顺序问题:确保在 init 钩子中注册分类法,而不是在其他钩子中。
  2. 权限问题:确保当前用户有足够的权限查看和编辑分类法。
  3. 代码错误:检查注册分类法的代码是否有语法错误或其他问题。

示例代码

以下是一个简单的示例,展示如何在 WordPress 中注册一个自定义分类法:

代码语言:txt
复制
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 函数注册自定义分类法可以提供灵活的内容组织方式。如果分类法没有显示或出现在管理页面或帖子类型中,可能是注册顺序、权限或代码错误导致的。通过检查上述问题并参考示例代码,可以解决这些问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券