WordPress注册分类法函数:register_taxonomy

文 / @WordPress主题

WordPress函数register_taxonomy用于注册一个新的分类法或修改一个现有的分类法,如果修改现有分类法对象,$object_type的值将覆盖。

register_taxonomy( string $taxonomy, array|string $object_type, array|string $args = array() )

函数参数

$taxonomy

字符串

分类法名称,不超过32个字符

$object_type

数组或字符串

与分类法关联的对象

$args

数组或字符串,可用值如下:

labels

数组

默认Tag类型不支持层级,Category支持层级,可用值参考get_taxonomy_labels()函数

description

字符串

用于分类法的简要描述

public

布尔值

分类法是否允许通过管理界面或前端使用

publicly_queryable

布尔值

分类法是否可以公开查询,默认值继承$public

hierarchical

布尔值,默认值:false

分类法是否支持层级

show_ui

布尔值,默认值:true

是否在后台管理中显示

show_in_menu

布尔值,默认值:true

是否在后台菜单中显示

show_in_nav_menus

布尔值,默认值:true

是否在导航菜单中显示

show_in_rest

布尔值

是否在REST API中使用,设置为true将在块编辑器中可用

rest_base

字符串,默认值:$taxonomy

更改REST API的基础路径

rest_controller_class

字符串,默认值:WP_REST_Terms_Controller

REST API控制器类名

show_tagcloud

布尔值,默认值:true

是否在标签云小工具中显示

show_in_quick_edit

布尔值,默认值:true

是否在快速/批量编辑模块中显示

show_admin_column

布尔值,默认值:false

是否在分类法post类型的列表显示该分类法列

meta_box_cb

布尔值或回调函数

如果设置为false则不显示Meta Box,默认post_categories_meta_box()用于分层分类,post_tags_meta_box()用于非分层分类。

meta_box_sanitize_cb

回调函数

用于过滤meta_box_cb指定的回调函数数据,如果未定义回调,则根据meta_box_cb的值确定适当的回调。

capabilities

数组

此分类法的权限

  • manage_terms:默认manage_categories;
  • edit_terms:默认manage_categories;
  • delete_terms:默认manage_categories;
  • assign_terms:默认edit_posts。

rewrite

布尔值或数组,默认值:true,使用$taxonomy作为slug

分类法的重写处理,要指定重写规则,可以使用以下值:

  • slug:自定义别名;
  • with_front:布尔值,默认为true,固定链接是否应该以WP_Rewrite::$front开头;
  • hierarchical:布尔值,默认为false,是否使用分层重写标记;
  • ep_mask:整数,默认为EP_NONE,指定端点掩码。

query_var

字符串或布尔值

设置分类法查询变量,默认为$taxonomy

update_count_callback

回调函数

像hook一样工作,当计数更新时调用

default_term

字符串或数组

用于分类法的默认分类:

  • name:默认分类的名称;
  • slug:默认分类的别名;
  • description:默认分类的描述。

_builtin

布尔值,默认值:false

如果为true,该分类法为内置分类法,仅供内部使用

扩展阅读

register_taxonomy()函数位于:wp-includes/taxonomy.php

相关函数:

  • create_initial_taxonomies()
添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。