webdevstudios/wds-required-plugins

此包的最新版本(1.4.0)没有可用的许可信息。

确保必要的插件不能被(轻易地)禁用。

安装: 78

依赖: 0

建议者: 0

安全: 0

星标: 77

关注者: 47

分支: 23

开放问题: 4

类型:wordpress-muplugin

1.4.0 2023-10-18 15:27 UTC

README

一个库,您可以使用它来制作任何必要的插件并自动激活。

  • 任何人都不可以从WordPress管理中禁用此插件
  • 当需要时它们会自动激活

使用时,将此库放置在您的 mu-plugins/ 目录中(如果您没有,则在 wp-content/ 中创建一个),然后使用以下示例

WebDevStudios. WordPress for big brands.

安装 & 更新

使用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' );

这将使任何必需的插件在插件列表中简单地不显示。