wpdesk/wp-init

WordPress插件的Bootstrap

0.9.1 2024-08-13 07:37 UTC

This package is auto-updated.

Last update: 2024-09-20 12:41:10 UTC


README

用超级能力启动您的插件。

安装

要在项目中使用此库,请将其添加到composer.json

composer require wpdesk/wp-init

创建插件

使用此库的首选方法是通过面向对象编程练习,在多个类中组织您的操作和过滤器,尽管这不是唯一可以交互(并从中受益)的方式。

插件初始化包括以下步骤

  1. 创建一个常规的主插件文件,遵循头部要求
  2. 为您的服务准备DI容器定义。
  3. 声明所有包含在钩子绑定中的类。

以上将主插件文件限制在一个简短且简单的结构。

<?php
/**
 * Plugin Name: Example Plugin
 */

use WPDesk\Init\Init;

require __DIR__ . '/vendor/autoload.php';

Init::setup('config.php')->boot();

插件配置

对于插件配置,您可以关注简洁的声明性配置。

支持的配置:

<?php

return [
	'hook_resources_path' => 'config/hook_providers',
	'services' => 'config/services.inc.php',
	'cache_path' => 'generated',

	'requirements' => [
		'plugins' => [
			'name' => 'woocommerce/woocommerce.php',
			'nice_name' => 'WooCommerce',
		]
	],

	'plugin_class_name' => 'Example\Plugin',
];

使用wpdesk/wp-builder

作为对遗留代码的支持,您可以使用此库的能力,将现有的、使用wpdesk/wp-builder的代码库与自动装配的服务相结合。

除了配置服务外,您唯一要做的改变是添加hookables作为类字符串,以便DI容器处理。

- $this->add_hookable( new \WPDesk\Init\Provider\I18n() );
+ $this->add_hookable( \WPDesk\Init\Provider\I18n::class );

致谢

此包深受Cedaro的wp-plugin和Alain Schlesser的basic-scaffold的启发。

许可

版权(c)2024 WPDesk

此库根据MIT许可。