wordpress后台定制创建自定义文章类型
本文最后更新于 717 天前,其中的信息可能已经有所发展或是发生改变。
wordpress默认只有一个文章类型,自定义文章类型可以是文章、产品、新闻、甚至是一个商品。它可以让网站的各种内容类型区分开来,避免所有内容都在默认的文章类型里导致混淆。

register_post_type()

register_post_type($post_type,$args);
$post_type  文章的类型(英文)
$args  文章类型的参数设定

下面用一个实例来说明,越不常用的参数排在越后面

$labels = array(
	'name' => '客户管理',//文章类型的显示名称
	'singular_name' => '客户管理',//单篇文章类型的显示名称
	'add_new' => '添加客户',//添加文章的显示字符
	'all_items' => '所有客户',//所有文章的显示字符
	'add_new_item' => '添加新客户',//添加新文章的显示字符
	'edit_item' => '编辑客户',//编辑文章的显示字符
	'new_item' => '新客户',//新文章的显示字符
	'view_item' => '查看客户',//查看文章的显示字符
	'search_items' => '搜索客户',//搜索文章的显示字符
	'not_found' => '没有找到客户',//没有找到文章的显示字符
	'not_found_in_trash' => '垃圾桶空空如也',//垃圾桶的显示字符
	'parent_item_colon' => '',//分层类型
	'menu_name' => '客户管理'//菜单名称的显示字符
);
$args = array(
	'labels' => $labels,
	'description' => '客户管理表',//文字介绍描述
	'menu_icon' => 'dashicons-cart',//菜单图标,参考百度。默认值:null,文章的图标
	'menu_position' => 5,//在后台菜单的位置
	/*
	5 文章之后
	10 媒体之后
	15 链接之后
	20 页面之后
	25 评论之后
	60 第一个分隔点之后
	65 插件之后
	70 用户之后
	75 工具之后
	80 设置之后
	100 第二个分隔点之后
	*/
	'supports' => array('title','author','custoom-fields'),
	/*
	文章默认有这几种功能
	title 标题
	editor 正文
	author 作者
	thumbnail 特色图像
	excerpt 摘要
	trackbacks 追踪引用
	custom-fields 自定义字段名称以_开头,添加值保存后不会在编辑页面显示
	comments 评论
	revisions 修订版,即自动保存
	page-attributes 属性,文章即排序,页面即选择页面模板
	*/
	'capability_type' => 'post',//查看、编辑、删除的权限类型。默认值:post
	'register_meta_box_cb' => '',//编辑表单的元框时调用的回调函数。默认值:无
	'taxonomies' => 'customer_category',//添加注册的自定义分类法
	'has_archive' => true,//是否显示所有文章归档
	'rewrite' => false,//触发重定向,为了防止重写,设置为false。默认为true
	/*
	slug 别名。默认值:$post_type
	with_front 布尔值,是否在permastruct前面加上WP_Rewrite::$front,默认为true
	feeds 布尔值,是否支持feeds,默认值继承$has_archive
	pages 布尔值,固定链接是否提供分页功能,默认为true
	ep_mask 要分配的端点掩码,如果未指定并且设置了permalink_epmask,则继承自$permalink_epmask。 如果未指定并且未设置permalink_epmask,则默认为EP_PERMALINK
	*/
	'public' => true,
	/*
	publicly_queryable 可以从前台获取的变量(url重写会用到)。默认值:与public相同
	exclude_from_search 是否能被搜索到。默认值:与public相反
	show_ui 在后台是否有管理页面。默认值:与public相同
	show_in_nav_menus 是否可在导航菜单中选择post_type。默认值:与public相同
	show_in_menu 是否在后台菜单中显示。默认值:null,为true时show_ui必须与其一致
	show_in_admin_bar 是否在后台工具栏中显示
	show_in_rest 是否在REST API中使用,设置为true将在块编辑器中可用
	rest_base 更改REST API的基础路径
	rest_controller_class REST API控制器类名
	*/
	'capabilities' => '',//文章类型具有哪些权限。
	'map_meta_cap' => false,//是否使用内部默认元功能。默认值:false
	'hierarchical' => false,//是否允许有父级文章
	'query_var' => true,//设置文章类型的query_var键。 默认值:true,false表禁用
	'can_export' => true,//可以导出这个文章类型。默认值:true
	'delete_with_user' => false,//删除用户时是否同步删除该用户的文章,默认为空,表示文章类型支持作者功能时则删除文章
);

register_post_type('customer',$args);
注册文章类型为:customer

最后挂在init

add_action('init','customer_post_type');

简单写一个自定义字段函数

function customer_post_type_metabox(){
	add_meta_box('customer_add','客户地址','customer_add_metabox','customer','normal');
}
function customer_add_metabox(){
	echo "hellow!";
}

自定义字段能够让你随心所欲的开发一个只属于你的文章编辑界面。后台自定义字段添加将在下一篇文章中详细介绍

文章原文:https://www.luojiasan.com/category/wordpress/1013.html
文章来源:https://www.luojiasan.com
[声明]本站内容除特别声明外,均属站长手写原创内容。
1、本站所有原创文章、图片等资料,如需转载使用,必须附上来源出处及链接方式;
2、若本站侵犯到您的权益或任何版权问题,请立即告知本站,我们将及时删除并致以最深的歉意!
3、本站转载文章版权归原作者所有,内容为作者个人观点,本站只提供参考并不构成任何投资及应用建议。任何本站转载文章链接及得到的资讯、产品、服务,本站概不负责,亦不负任何法律责任。
暂无评论

发送评论 编辑评论


				
上一篇
下一篇