在WordPress中,注册自定义文章后,像默认的文章类型 post 一样,也需要给新文章类型注册分类方法,这时候就需要使用 register_taxonomy 函数。
函数原型:
register_taxonomy( string $taxonomy, array|string $object_type, array|string $args = array() ): WP_Taxonomy|WP_Error
参数说明:
$taxonomy 分类方法的key。不得超过32个字符,只能包含小写字母、数字和下划线。
$object_type 与哪个文章类型绑定。
$args 分类方法的其他参数。包含以下参数:
labels,一个分类的标签数组。默认情况下,标签标签用于非树形分类的分类方法,分类标签用于树形分类的分类方法。具体包含哪些 label ,可以参考文章:《WordPress函数:get_taxonomy_labels 分类相关的标签》
description,一个简单的描述、简介。
hierarchical,是否是树形分类-是否允许分类有父子关系。默认 false。
public,分类法是否打算通过管理界面或由前端用户公开使用。
publicly_queryable,分类法是否可公开查询。如未设置,使用 public 的值。
show_ui,是否生成并允许在管理员中管理该分类法中的术语的UI。如未设置,使用 public 的值。
show_in_menu,是否在管理菜单中显示分类法。如果为true,则分类法显示为对象类型菜单的子菜单。如果为false,则不显示任何菜单。如未设置,使用 public 的值。
show_in_nav_menus,使此分类法可用于在导航菜单中进行选择。如未设置,使用 public 的值。
show_in_rest,是否支持 REST API。如果希望在块编辑器中使用,也需要设置为 true。
rest_base,在 REST API 路由中的前缀,默认同 $taxonomy 。
rest_namespace,在 REST API 路由中的 namespace,默认同 'wp/v2' 。
rest_controller_class,REST API 中 Controller 的类名。默认为:'WP_REST_Terms_Controller'。
show_tagcloud,是否在“标签云”小工具中显示。默认同 $show_ui。
show_in_quick_edit,是否在快速编辑面板中显示。默认同 $show_ui。
show_admin_column,是否在文章列表中显示。默认 false。
meta_box_cb,为属性面板提供一个回调函数。如果未设置,树形结构分类方法使用:post_categories_meta_box();非树形结构分类方法使用:post_tags_meta_box()。如果设置为 false,则不显示属性面板。
meta_box_sanitize_cb,属性的“消毒”函数。在新增或编辑该分类属性时,会使用这个函数保证属性值符合要求。
capabilities,一个数组。新增/编辑/删除等,对权限的要求。manage_terms-默认'manage_categories';edit_terms-默认'manage_categories';delete_terms-默认'manage_categories';assign_terms-默认'edit_posts';
rewrite,路径重写相关。true,默认$slug=$taxonomy;false,关闭重写;或提供一个数组,包含如下:slug-自定义路径部分。with_front-是否应使用 WP_Rewrite::$front 预处理置换结构,默认true。hierarchical 是否是树形结构分类方法,默认false。ep_mask-Assign an endpoint mask. Default EP_NONE。
query_var,设置此分类法的查询var键。默认的$taxonomy键。如果为false,则无法在中加载分类法?{query_var}={term_slug}。如果是字符串,查询?{query_var}={term_slug}将有效。
update_count_callback,工作原理很像钩子,因为它将在计数更新时被调用。附加到post类型的分类法的默认_update_post_term_count(),它在对对象进行计数之前确认对象已发布。附加到其他对象类型(如用户)的分类法的默认_update_generic_term_count()。
default_term,设置一些默认值。name-默认名称,slug-默认slug,description-默认描述。
sort,该分类法中的术语是否应按照提供给 wp_set_object_terms() 的顺序进行排序。默认为null,相当于false。
args,这是args里又包含了一个args。要在此分类法的 wp_get_object_terms() 中自动使用的参数数组。
_builtin,这个分类法是一个“内置”的分类法。仅供内部使用!默认值为false。
注意:
register_taxonomy 必须在 init 钩子执行之后再使用才有效。
关于 WordPress 的分类方法学,可以参考文章:《WordPress 中 Categories, Tags 及 Taxonomies 的区别》
-
重塑WordPress生态的思考与探索前两天的《WordPress圈子到底怎么了...》这篇文章大家都挺有感触的,群里聊得热火朝天。里头啥声音都有:有的哥们儿直接吐槽WordPress性能拖后腿,躲都躲不及;有的则感慨流量难搞,但坚持建站纯粹是出于热爱和那份情怀;还有人预言,以后建站啊,模块化、可视化才是王道;较热闹的还得数短视频和直播,这家伙一来,内容消费整个儿变了天,网站和小程序怎么赚钱都成难题了。
-
Loco Translate 一款专为WordPress设计的翻译插件WordPress Loco Translate是一款专为WordPress用户设计的翻译插件,它简化了主题和插件的多语言翻译过程。
-
WordPress后台待审文章显示气泡提示的方法之前小编分享过一篇《WordPress 后台菜单添加 badge-红点提示(气泡通知)》的文章,今天我简单说说待审文章(为全部文章类型显示待审角标提示)的气泡提示如何操作。
-
FluentSMTP一款功能强大且免费的WordPress SMTP插件FluentSMTP是一款功能强大且免费的SMTP插件,它支持为WordPress配置多个SMTP发送服务器。
-
追格小程序V2.5.8更新发布追格小程序是一款采用积木式理念的微信小程序构建框架,它巧妙融合了Uniapp与WordPress技术,打造出一个开源且无加密限制的开发环境。
-
WordPress必备:使用wp_get_theme()函数获取当前主题详情在WordPress中,wp_get_theme() 函数用于获取当前启用的主题或指定主题的信息。这个函数返回一个 WP_Theme 对象,该对象包含了主题的详细信息,如主题名称、版本、模板目录、样式表目录等。
暂无评论,抢个沙发...