rebelcode/wp-plugin-sdk

RebelCode用于构建WordPress插件的SDK。

dev-main 2024-04-24 11:07 UTC

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