webdevstudios / wds-required-plugins
此包的最新版本(1.4.0)没有可用的许可信息。
确保必要的插件不能被(轻易地)禁用。
1.4.0
2023-10-18 15:27 UTC
Requires
- composer/installers: ~1.0 || ~2.0
This package is auto-updated.
Last update: 2024-09-18 17:32:41 UTC
README
一个库,您可以使用它来制作任何必要的插件并自动激活。
- 任何人都不可以从WordPress管理中禁用此插件
- 当需要时它们会自动激活
使用时,将此库放置在您的 mu-plugins/
目录中(如果您没有,则在 wp-content/
中创建一个),然后使用以下示例
安装 & 更新
使用Composer
将以下内容添加到您的 composer.json
{ "extra": { "installer-paths": { "mu-plugins/{$name}/": ["type:wordpress-muplugin"] } } }
然后使用
composer require webdevstudios/wds-required-plugins
这将安装 mu-plugin
,例如在 wp-content
基于项目中 mu-plugins/wds-required-plugins
您需要在例如 mu-plugins/wds-required-plugins-list.php
中调用它
<?php require WPMU_PLUGIN_DIR . '/wds-required-plugins/wds-required-plugins.php'; function wds_required_plugins_add( $required ) { return array_merge( $required, [ 'my-plugin/my-plugin.php', ] ); } add_filter( 'wds_network_required_plugins', 'wds_required_plugins_add' );
示例用法
<?php /** * Add required plugins to WDS_Required_Plugins. * * @param array $required Array of required plugins in `plugin_dir/plugin_file.php` form. * * @return array Modified array of required plugins. */ function wds_required_plugins_add( $required ) { return array_merge( $required, [ 'jetpack/jetpack.php', 'sample-plugin/sample-plugin.php', ] ); } add_filter( 'wds_required_plugins', 'wds_required_plugins_add' );
使用以下过滤器 代替 来网络激活插件
add_filter( 'wds_network_required_plugins', 'wds_required_plugins_add' );
更改文本
要将标签从 必需插件 更改为其他内容,请使用以下过滤器/代码
/** * Modify the required-plugin label. * * @param string $label Label markup. * * @return string (modified) label markup. */ function change_wds_required_plugins_text( $label ) { $label_text = __( 'Required Plugin for ACME', 'acme-prefix' ); $label = sprintf( '<span style="color: #888">%s</span>', $label_text ); return $label; } add_filter( 'wds_required_plugins_text', 'change_wds_required_plugins_text' );
隐藏必需插件(默认关闭)
要隐藏您的必需插件从插件列表中,请使用以下过滤器/代码
add_filter( 'wds_required_plugins_remove_from_list', '__return_true' );
这将使任何必需的插件在插件列表中简单地不显示。