awsm/wp-wrapper

为WordPress代码添加更多美观。

dev-master 2021-03-08 11:15 UTC

This package is auto-updated.

Last update: 2024-09-08 19:23:14 UTC


README

为WordPress代码添加更多美观。

安装

使用composer将WP Wrapper添加到我们的代码中。

composer require awsm/wp-wrapper

插件

插件包装器可以帮助您初始化插件。这是一个插件的简单示例。

<?php
/**
 * Plugin Name: Example plugin.
 */
// Path to composer autoload file.
require dirname( __FILE__ ) .'/vendor/autoload.php'; 

(new \Awsm\WP_Wrapper\Plugin\Plugin() )
    ->add_translation( 'example-plugin', dirname(__DIR__) . '/languages' )
    ->add_task(My_Task::class)
    ->boot();

任务

任务是一个包含您的程序代码的类,并包含任务接口。

<?php
/**
 * Example service.
 **/
class My_Task implements \Awsm\WP_Wrapper\Interfaces\Task {
    public function run() {
        // Your code here
    }
}

任务执行器

任务执行器是一个可以在需要启动任务的类中使用的特质。

<?php
/**
 * Example task runner class.
 **/
class My_Task_Runner {
    use \Awsm\WP_Wrapper\Tasks\Task_Runner;
    
    public function __construct() {
        $this->run_tasks();
    }
}

(new My_Task_Runner())->add_task( My_Task::class );

但是最好在需要的地方加载脚本。使用动作接口执行您的操作。

<?php
/**
 * Example task runner class.
 **/
class My_Task_Runner implements Awsm\WP_Wrapper\Interfaces\Actions {
    use \Awsm\WP_Wrapper\Tasks\Task_Runner;
    
    public function __construct() {
        $this->run_tasks();
    }

    public function add_actions(){
        add_action( 'select_a_hook_here', [ $this, 'run_tasks'] );
    }

}

(new My_Task_Runner())->add_task( My_Task::class );

任务依赖注入

在任务添加时通过传递对象,可以在构造函数中使用依赖注入。