rebelcode / wp-plugin-sdk
RebelCode用于构建WordPress插件的SDK。
dev-main
2024-04-24 11:07 UTC
Requires
- php: >= 7.2
- ext-json: *
- dhii/containers: ^v0.1.4
- dhii/services: ^0.1.1-alpha3
- psr/container: ^1.1.1
Requires (Dev)
- brain/monkey: ^2.6
- mikey179/vfsstream: 2.0.x-dev
- mockery/mockery: 1.3.x-dev
- phpunit/phpunit: ^8.5
- roots/wordpress-no-content: >= 6.0
This package is auto-updated.
Last update: 2024-08-24 12:01:17 UTC
README
用于构建模块化WordPress插件的具有偏见的SDK。
这主要是为RebelCode插件构建的。欢迎将其用于您自己的项目,但请知悉,我们可能不会接受阻碍我们自身发展的pull requests。
安装
使用Composer安装
composer require rebelcode/wp-plugin-sdk
使用方法
这里有一个快速示例
/** * @wordpress-plugin * Plugin Name: My Plugin * Version: 0.1 */ use RebelCode\WpSdk\Plugin; add_action('plugins_loaded', function () { $plugin = Plugin::create(__FILE__); $plugin->run(); })
// modules.php return [ 'shortcode' => new MyShortcodeModule(), ];
// MyShortcodeModule.php use Dhii\Services\Factories\FuncService; use Dhii\Services\Extensions\ArrayExtension; use Psr\Container\ContainerInterface; use RebelCode\WpSdk\Module; use RebelCode\WpSdk\Wp\Shortcode; class MyShortcodeModule extends Module { public function getFactories(): array { return [ // Services for the [rain] shortcode and its render function 'shortcode' => Shortcode::factory('rain', 'render_fn'), 'render_fn' => new FuncService(function () { return 'The rain in Spain stays mainly in the plain'; }), ]; } public function getExtensions() : array{ return [ // Extend WordPress's shortcode list 'wp/shortcodes' => new ArrayExtension(['shortcode']), ]; } }
完整文档可以在存储库的Wiki中找到。
许可证
GPL-3.0+ © RebelCode