amostajo/wordpress-plugin-core

Wordpress 插件的核心功能和库(一个轻量级插件模板,包含 composer 和 MVC)。

v1.0.8 2017-06-09 01:46 UTC

This package is auto-updated.

Last update: 2024-09-21 20:12:56 UTC


README

Latest Stable Version Total Downloads License

Wordpress 插件的核心库(一个包含 composer 和 MVC 的 Wordpress 模板);

安装

添加

"amostajo/wordpress-plugin-core": "1.0.*"

到你的 composer.json 中。然后运行 composer installcomposer 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 许可证下分发的免费软件。