此包已被 废弃 且不再维护。未建议替代包。

WordPress 的面向对象开发框架。

1.8.0 2021-03-03 13:53 UTC

README

WordPress 的面向对象开发框架,简化开发者生活。

现在你可以花更少的时间在常规操作上,比如创建文章类型、分类、元框等。WPKit 将帮助你编写更少的代码 -> 喝更多啤酒 :)

由 Redink AS 支持

许可证

WPKit 框架是开源软件,根据 GPL-2+ 许可证分发。有关更多信息,请参阅 LICENSE

初始化

只需包含 WPKit 自动加载器

require_once __DIR__ . '/WPKit/init_autoloader.php';

然后你就可以开始使用了。我们建议使用 WPKit 完全支持的模块结构。

使用示例

文章类型

让我们创建一个文章类型“汽车”。你只需要创建一个带有 slug 和单名的 PostType 实例。

$cars_post_type = new WPKit\PostType\PostType('car','Car');

元框

现在我们需要添加一些自定义字段。首先,我们需要创建元框

$metabox = new WPKit\PostType\MetaBox('data','Properties');

然后将此元框添加到我们的文章类型

$cars_post_type->add_metabox( $metabox );

或者

$metabox->add_post_type( $cars_post_type );

你可以将一个元框添加到多个文章类型中。

字段

$metabox->add_field( 'reg_no', 'Registration #' );  // By default Text field will be used
$metabox->add_field( 'year', 'Year', 'Number' );    // You can set Field in 3rd parameter as string
$metabox->add_field( 'color', 'Color', function(){  // Or use more flexible callback function
	$filed = new WPKit\Fields\Select();
	$filed->set_options([                           // Like settings options and other
		'red',
		'black',
		'white',
		'yellow'
	]);
	
	return $filed;                                  // Function should always return created filed
} );

要获取自定义字段的值,请使用 MetaBox::get() 方法。

<?php $year = WPKit\PostType\MetaBox::get( get_the_ID(), 'data', 'year' ); ?>

测试

你可以使用 WP_Mock。这里有一些测试的引导文件示例

require_once 'vendor/autoload.php';

WP_Mock::bootstrap();

define( 'TEMPLATEPATH', __DIR__ );
$loader = new \WPKit\Module\Loader();
$loader->phpunit_load_modules();

更多功能将在 Wiki 中提供,或者你可以直接探索代码 ;)

发布历史

版本 1.7.0

  • OptionPage 和分类的新选项
  • 添加了 DateTime 和 PostSelect 字段
  • Google 地图字段的 API 密钥
  • 添加了使用 WP_Mock 的单元测试
  • 修复 SSL 资产加载问题
  • 修复在子主题中使用 WPKit 的问题
  • Select2 更新到 4.0.3 版本
  • Select2 的占位符修复
  • 修复页面上的多个 Select2 问题

版本 1.6.3

  • 重复项的修复
  • 修复 http/https Select2 资产加载问题

版本 1.6.2

  • 重复元框的默认值
  • 在 URL 字段中自动添加 'http://'
  • Option::get 方法中的默认值
  • 在图像字段中移除 srcset
  • Composer 重命名
  • 修复

版本:1.6

  • PostLoader 用于大型主页构建器以减少 SQL 查询
  • 添加了 MetaBox Related Posts 的限制参数
  • 添加了 PostType 的 show_in_menu 和 public 参数
  • MetaBoxRepeatable - 添加了垂直布局和一些改进
  • 添加了 Taxonomy 的 show_ui 参数
  • 修复了 PostType 的 has_archive 类型
  • 视频字段改为使用 oEmbed
  • 文件字段修复以支持 SVG
  • WP 4.5 的改进
  • 由于核心WP功能,TaxonomyMeta 已弃用
  • PHP 7 准备工作

版本:1.5.6

  • 修复Youtube API密钥

版本:1.5.5

  • APSIS集成
  • 修复youtube和instagram集成问题
  • 添加PHPDoc描述

版本:1.5

  • 添加WPEditor参数
  • Instagram中添加额外请求参数
  • 在autoread初始化中添加add_action和add_filter
  • 添加Transient缓存
  • 在可重复操作中添加JS触发器
  • 修复可重复metabox问题
  • 修复屏幕上多个图片/文件按钮问题

版本:1.3

  • 为帖子类型添加重写
  • 为选择字段添加select2
  • 添加本地化
  • 为metabox Repeatable 添加限制
  • 添加用户元框
  • 实现Youtube集成类
  • 实现Instagram集成类
  • 在字段上重新加载JS
  • 对象缓存支持
  • 更多表格批量操作修复
  • 可重复metabox保存修复

版本:1.2.1

  • 为帖子类型添加重写选项
  • 表格批量操作修复
  • AbstractWidget AJAX修复

版本:1.2

  • 将上下文添加到metabox中
  • 多选支持
  • YouTube集成类
  • MetaBox 相关帖子
  • enqueue inline script中的url错误
  • 地图字段的“无结果”消息

版本:1.1

  • 添加字段
    • 日期
    • 文件
    • 地图
    • WPEditor
    • 隐藏
    • 数字
  • 可重复/可排序字段集
  • 表格排序修复

版本:1.0.4

  • 第一个版本