Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 7 commits ahead, 83 commits behind WebDevStudios:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Required Plugins

A library that allows a theme or plugin to filter the list of required plugins so that:

  • The deactivate links are removed.
  • Plugins are automatically activated (if they are in the plugins directory)
  • Plugin is listed with a 'required' label.

Library also allows black-listing plugins, useful to ensure development plugins are not activated on production.

To use, place this library in your mu-plugins/ directory (if you don't have one, create one in wp-content/), then use the example below:

Example Usage:


require WPMU_PLUGIN_DIR . '/Required-Plugins/wp-auto-required-plugins.php';

 * Add required plugins to 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(
	) );

	return $required;
add_filter( 'wds_required_plugins', 'wds_required_plugins_add' );
// Or network-activate/require them:
// add_filter( 'wds_network_required_plugins', 'wds_required_plugins_add' );


Change label

To change the label from 'Required Plugin', use the following filter/code.

 * 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' );
Hide from the Plugin list

To hide your required plugins from the plugins list, use the following filter/code.

add_filter( 'required_plugin_remove_from_list', '__return_true' );


  • 0.1.6
    • Add ability to remove plugins from the plugin list, if desired. (@bradp)
  • 0.1.5
    • New filters for blacklisting plugins, 'blacklisted_plugins' and 'network_blacklisted_plugins'.
  • 0.1.4
    • Will now log if/when a required plugin is not found.
    • New filters:
      • 'required_plugin_auto_activate' - By default required plugins are auto-activated. This filter can disable that.
      • 'required_plugin_log_if_not_found' - By default, missing required plugins will trigger an error in your log. This filter can disable that.
      • 'required_plugins_error_log_text' - Filters the text format for the log entry.
  • 0.1.3
    • Network activation filter
  • 0.1.2
    • i10n
  • 0.1.1
    • Automatically activate required plugins (if they are available).
  • 0.1.0
    • Hello World.


Make certain plugins required so that they cannot be (easily) deactivated.






No packages published


  • PHP 100.0%