bradp / required-plugins
确保某些插件是必需的,这样它们就不能(轻易地)被禁用。
dev-main
2021-10-07 19:10 UTC
This package is auto-updated.
Last update: 2024-09-08 01:17:38 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 . '/required-plugins/required-plugins.php'; function required_plugins_add( $required ) { return array_merge( $required, array( 'my-plugin/my-plugin.php`, ) ); } add_filter( 'network_required_plugins', '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 ) { $required = array_merge( $required, array( 'jetpack/jetpack.php', 'sample-plugin/sample-plugin.php', ) ); return $required; } add_filter( 'required_plugins', 'required_plugins_add' );
使用以下过滤器 代替 来网络激活插件
add_filter( 'network_required_plugins', 'required_plugins_add' );
更改文本
要将标签从 必需插件 更改为其他内容,请使用以下过滤器/代码
/** * Modify the required-plugin label. * * @param string $label Label markup. * * @return string (modified) label markup. */ function change_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( 'required_plugins_text', 'change_required_plugins_text' );
隐藏必需插件(默认关闭)
要隐藏您的必需插件从插件列表中,请使用以下过滤器/代码
add_filter( 'required_plugins_remove_from_list', '__return_true' );
这将使任何必需插件在插件列表中不显示。