5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8282|回复: 0
打印 上一主题 下一主题

[钩子/函数] register_taxonomy()函数 为自定义的Post type添加自定义分类功能

[复制链接]

670

主题

785

帖子

8303

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8303
跳转到指定楼层
楼主
发表于 2021-6-1 10:47:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
语法结构

  1. <?php register_taxonomy($taxonomy, $post_type, $args); ?> //为自定义的Post type添加自定义分类功能
复制代码


参数

$taxonomy添加的类的名称

$post_type注册的自定义类型

$labels的详细参数

‘name’ – 分类的通用名称,通常为复数
‘singular_name’ – 此分类法的一个对象的名称
‘search_items’ – 搜索项目文字。默认为__(’搜索标签’)或__(’搜索类别’)
‘popular_items’ – 热门项目文字。默认为__(’热门标签’)或null
‘all_items’ – 所有项目文本。默认为__(’所有标签’)或__(’所有类别’)
‘parent_item’ – 父项文本。此字符串不用于非分层分类法,例如帖子标记。默认值为null或__(’父类别’)
‘parent_item_colon’ – 与结果相同parent_item,但:结尾为冒号,__(’父类别:’)
‘edit_item’ – 编辑项目文本。默认为__(’编辑标签’)或__(’编辑类别’)
‘update_item’ – 更新项目文本。默认为__(’更新标签’)或__(’更新类别’)
‘add_new_item’ – 添加新项目文本。默认为__(’添加新标签’)或__(’添加新类别’)
‘new_item_name’ – 新项目名称文本。默认为__(’新标签名称’)或__(’新类别名称’)
‘separate_items_with_commas’ – 分类项元框中使用逗号文本的单独项目。此字符串不用于分层分类法。默认值为__(’带逗号的单独标签’)或null
‘add_or_remove_items’ – 添加或删除项目文本,并在禁用JavaScript时在元框中使用。此字符串不用于分层分类法。默认值为__(’添加或删除标记’)或null
‘choose_from_most_used’ – 从分类法元框中使用的最常用文本中进行选择。此字符串不用于分层分类法。默认值为__(’从最常用的标签中选择’)或null
‘menu_name’ – 菜单名称文字。此字符串是提供菜单项的名称。默认为name的值

$args的详细参数

public- 否应在管理UI中公开此分类

show_ui – 是否生成用于管理此分类的默认UI。默认值:如果未设置,则默认为public参数的值
show_in_nav_menus – true使此分类在导航菜单中可供选择,默认值:如果未设置,则默认为public参数的值
show_tagcloud – 是否允许Tag Cloud小部件使用此分类,默认值:如果未设置,则默认为show_ui参数的值
  1. <?php
  2. $labels = array(
  3.         'name' => '产品分类',
  4.         'singular_name' => '产品分类',
  5.         'search_items' =>  '搜索产品' ,
  6.         'all_items' => '所有产品' ,
  7.         'parent_item' => null,
  8.         'parent_item_colon' => null,
  9.         'edit_item' => '编辑产品' ,
  10.         'update_item' => '更新产品' ,
  11.         'add_new_item' => '添加产品' ,
  12.         'new_item_name' => '新产品',
  13.         'separate_items_with_commas' => '' ,
  14.         'add_or_remove_items' => '添加或删除',
  15.         'choose_from_most_used' => '从经常使用的类型中选择',
  16.         'menu_name' => '产品分类',
  17.     );

  18.     register_taxonomy(
  19.         'products', array('product'),
  20.         array(
  21.             'labels' => $labels,
  22.             'hierarchical' => true,
  23.             'show_ui' => true,
  24.             'query_var' => true,
  25.         )
  26.     );
  27. ?>
复制代码

前台调用

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

TIPS

强调一点,添加过新的自定义分类之后一定要更新下固定连接,只需要点击保存设置就行,不然前台是调用不出来的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-9-29 23:33 , Processed in 0.171875 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表