此包已被放弃且不再维护。没有建议的替代包。

自定义文章类型模块

1.2.5 2017-03-27 09:15 UTC

This package is not auto-updated.

Last update: 2018-05-13 22:28:32 UTC


README

Latest Stable Version Total Downloads

CPT 模块

此模块帮助更简单地注册自定义文章类型。

安装

composer require vietartisans/cpter

参数

名称 类型 必需 描述 默认值
name 字符串 文章类型。(最大20个字符,不能包含大写字母或空格) book, music,...
单数 字符串 此类文章的单数名称。默认为 Post/Page Book, Music,...
复数 字符串 此类文章的复数名称。默认为 Posts/Pages Posts, Pages,...
args 数组 参数数组 ---

注册文章类型参数

参数

名称 类型 必需 描述 默认值
labels 数组 此文章类型的标签数组。默认情况下,文章标签用于非层次文章类型,页面标签用于层次文章类型 如果为空,则 name 被设置为 label 的值,singular_name 被设置为 name 的值
public 布尔值 控制类型对作者(show_in_nav_menus, show_ui)和读者(exclude_from_search, publicly_queryable)的可见性 false
publicly_queryable 布尔值 是否可以在前端作为 parse_request() 的一部分执行查询 public 参数的值
show_ui 布尔值 是否为管理此文章类型在管理员界面生成默认用户界面 public 参数的值
show_in_menu 布尔值/字符串 在哪里显示文章类型在管理员菜单中的位置。 show_ui 必须为 true show_ui 参数的值
has_archive 布尔值/字符串 启用文章类型存档。默认情况下将使用 $post_type 作为存档别名 false
supports 数组/布尔值 直接调用 add_post_type_support() 的别名。从 3.5 版本开始,布尔值 false 可以作为值传递而不是数组,以防止默认(标题和编辑器)行为 标题和编辑器

标签

名称 描述 默认值
name 文章类型的通用名称,通常是复数。由 $post_type_object->label 覆盖 Posts/Pages
singular_name 此类文章的单数名称 Post/Page
add_new 添加新文本 默认为 添加新内容
add_new_item 添加新文本 默认为 添加新文章/添加新页面
edit_item - 默认为 编辑文章/编辑页面
new_item - 默认为 新建文章/新建页面
view_item - 默认为 查看文章/查看页面
view_items 查看文章类型存档的标签 默认为 查看文章/查看页面
search_items - 默认为 搜索文章/搜索页面
not_found - 默认为 未找到文章/未找到页面
not_found_in_trash - 默认为 回收站中未找到文章/回收站中未找到页面
父项冒号 此字符串不在非层次结构类型中使用 在层次结构中,默认为 父页面:
所有项目 子菜单字符串 默认为 所有帖子/所有页面
存档 用于导航菜单中存档的字符串 默认为 帖子存档/页面存档
属性 属性元框的标签 默认为 帖子属性/页面属性
插入到项目 媒体框架按钮的字符串 默认为 插入到帖子/插入到页面
上传到该项目 媒体框架筛选器的字符串 默认为 上传到本帖子/上传到本页面
特色图片 - 默认为 特色图片
设置特色图片 - 默认为 设置特色图片
使用特色图片 - 默认为 用作特色图片
菜单名称 - 默认与 名称 相同
筛选项目列表 表格视图隐藏标题的字符串 -
项目列表导航 表格分页隐藏标题的字符串 -
项目列表 表格隐藏标题的字符串 -
名称管理栏 用于新在管理菜单栏的字符串 默认与 单数名称 相同

用法

1. 使用别名功能

registerCpter('book', 'Book', 'Books');

2. 创建CPT子类

使用默认参数注册自定义帖子类型

$book = new VA\CPT('book', 'Book', 'Books');

使用特定参数注册自定义帖子类型

$song = new VA\CPT(
    'song', 
    'Song', 
    'Songs', 
    ['menu_icon' => 'dashicons-format-audio']
);

使用元字段注册自定义帖子类型

注意:我们使用CMB2为自定义帖子类型创建元字段。有关如何使用CMB2的信息,请参阅此处。您可以在此处查看可用字段类型的列表。

$book->registerMetafields(
	[
		[
	        'id'            => 'test_metabox',
	        'title'         => __( 'Test Metabox', 'cmb2' ),
	        'context'       => 'normal',
	        'priority'      => 'high',
	        'show_names'    => true, // Show field names on the left
	        // 'cmb_styles' => false, // false to disable the CMB stylesheet
	        // 'closed'     => true, // Keep the metabox closed by default
	        'fields'        => [
	        	[
			        'name' => __( 'Website URL', 'cmb2' ),
			        'desc' => __( 'field description (optional)', 'cmb2' ),
			        'id'   => 'url',
			        'type' => 'text_url',
			    ],
			    [
			        'name' => __( 'Test Text Email', 'cmb2' ),
			        'desc' => __( 'field description (optional)', 'cmb2' ),
			        'id'   => 'email',
			        'type' => 'text_email',
			        // 'repeatable' => true,
			    ]
	        ]
		],
		[
	        'id'            => 'test_metabox_2',
	        'title'         => __( 'Test Metabox', 'cmb2' ),
	        'context'       => 'normal',
	        'priority'      => 'high',
	        'show_names'    => true, // Show field names on the left
	        // 'cmb_styles' => false, // false to disable the CMB stylesheet
	        // 'closed'     => true, // Keep the metabox closed by default
	        'fields'        => [
	        	[
			        'name' => __( 'Website URL', 'cmb2' ),
			        'desc' => __( 'field description (optional)', 'cmb2' ),
			        'id'   => 'url',
			        'type' => 'text_url',
			    ],
			    [
			        'name' => __( 'Test Text Email', 'cmb2' ),
			        'desc' => __( 'field description (optional)', 'cmb2' ),
			        'id'   => 'email',
			        'type' => 'text_email',
			        // 'repeatable' => true,
			    ]
	        ]
		]
	]
);

变更日志

1.2.4

  • 更新标签的文本域

1.2.3

  • 必需的cmb2包

1.2.1

  • 更新CMB2的PATH

1.2.1

  • 修复CMB2问题#12

1.2.0

  • 为创建自定义帖子类型对象添加别名功能
  • 更改命名空间

1.1.0

  • 更改结构

1.0.0

  • 首次发布