amostajo / wordpress-plugin-core
Wordpress 插件的核心功能和库(一个轻量级插件模板,包含 composer 和 MVC)。
v1.0.8
2017-06-09 01:46 UTC
Requires
- php: >=5.3.0
- amostajo/lightweight-mvc: 1.0.*
- amostajo/phpfastcache: ^3.0
- katzgrau/klogger: dev-master
README
Wordpress 插件的核心库(一个包含 composer 和 MVC 的 Wordpress 模板);
安装
添加
"amostajo/wordpress-plugin-core": "1.0.*"
到你的 composer.json 中。然后运行 composer install
或 composer update
。
插件扩展开发
WP 核心现在支持插件扩展开发。要创建自定义包,只需创建一个扩展主类,它从这个包的抽象类扩展,如下例所示
namespace MyNamespace; use Amostajo\WPPluginCore\Classes\Addon; class PostPicker extends Addon { /** * Function called when plugin or theme starts. * Add wordpress hooks (actions, filters) here. */ public function init() { // YOUR CUSTOM CODE HERE. } /** * Function called when user is on admin dashboard. * Add wordpress hooks (actions, filters) here. */ public function on_admin() { // YOUR CUSTOM CODE HERE. } }
这是你应该添加你的 Wordpress 钩子的方式
namespace MyNamespace; use Amostajo\WPPluginCore\Classes\Addon; class PostPicker extends Addon { /** * Function called when plugin or theme starts. * Add wordpress hooks (actions, filters) here. */ public function init() { add_filter( 'post_content', [ &$this, 'picker_filter' ] ) } /** * Called by wordpress. */ public function picker_filter() { // YOUR CUSTOM CODE HERE. } }
访问插件主类
您可以从 扩展
类中的任何自定义方法调用主类,如下所示
/** * Custom method. */ public function picker_filter() { // Getting a config settings. $this->main->config->get( 'setting' ); }
调用扩展的控制器或视图
MVC
/** * Custom method. */ public function picker_filter() { // Calling MVC. $this->mvc->call( 'Controller@method' ); }
您的控制器应该放在与 扩展
类同一级别的 controllers
文件夹中,同样适用于 views
文件夹。
从主类调用 ADD-ON 方法
主类可以通过添加 addon_
前缀来调用扩展中的方法,例如 addon_picker_filter
。
设置插件或主题
最后,将您的包添加到配置文件中。例如
'addons' => [ 'MyNamespace\PostPicker', ],
编码指南
编码是 PSR-2 和 WordPress PHP 指南的混合。
许可证
轻量级 MVC 是在 MIT 许可证下分发的免费软件。