level-level / ll-plugin-autoloader
简化了在WordPress中加载composer自动加载器和mu插件的过程。
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9.2
This package is auto-updated.
Last update: 2024-09-10 14:07:59 UTC
README
当将0-loader.php
文件插入到mu-plugins
目录时,它将像普通插件一样加载所有子目录插件。
配置选项
您有多种选项可以操作插件加载器将查找供应商文件夹的位置。在wp-config中定义以下值之一:
1. 默认 == wp-content目录
如果您什么也不定义,它将像2. wp-content
目录一样加载。
2. wp-content目录
从mu-plugins
目录之上的父目录加载(应该是wp-content
目录)。仅在未设置LL_AUTOLOAD_DIR
时使用。
define('LL_AUTOLOAD_CONTENT_DIR', true);
3. 子主题
使用当前子主题(通过get_stylesheet_directory
)作为包含供应商文件夹的主题文件夹。仅在未设置LL_AUTOLOAD_DIR
时使用。
define('LL_AUTOLOAD_USE_CHILD', true);
4. 父/默认主题
使用当前父主题(通过get_template_directory
)作为包含供应商文件夹的主题文件夹。仅在未设置LL_AUTOLOAD_DIR
时使用。
define('LL_AUTOLOAD_USE_PARENT', true);
5. 自定义路径
使用特定目录。脚本将仍然将/vendor/autoload.php
追加到该路径。
define('LL_AUTOLOAD_DIR', '/path/to/wordpress/theme/');
概述
预和后自动加载
预自动加载
在加载供应商自动加载文件之前,如果存在,需要目录中指定的pre-autoload.php
文件。
此文件可以用于设置Composer加载的依赖项所需的环境变量。
后自动加载
在加载供应商自动加载文件之后,但在加载mu-plugins
之前,如果存在,需要目录中指定的post-autoload.php
文件。
此文件可以用于引导/配置mu插件加载的依赖项,或触发需要尽可能早发生的操作,但设置自动加载。
添加日志是此例子的一个例子。您可能需要Monolog composer依赖项,但希望在加载mu插件之前进行引导。
强制加载普通插件
在某些情况下,将插件作为必须使用插件加载可能导致插件出现问题。相反,您可以选择像普通插件一样强制加载插件。
在包含供应商文件夹的路径中,创建一个名为ll-forced-plugins.json
的文件。内部,粘贴以下内容:
{ "forced_plugins": [ { "slug": "first-plugin/first-plugin.php", "network": false }, { "slug": "second-plugin/second-plugin.php", "network": true } ] }
slug引用要加载的插件文件。网络确定如果是一个多站点安装,插件是否应该被网络激活。
请注意,这些强制激活的插件只有在访问WP-admin时才会被激活。这是必需的,因为一些插件希望在激活后立即执行重定向等操作。
从v2.x升级到v3.x
在v3中,默认加载wp-content
目录,而不是v2中的模板目录。要恢复行为,请在wp-config.php
中设置define( 'LL_AUTOLOAD_USE_PARENT', true );
。