An open API service indexing awesome lists of open source software.

https://github.com/thefrosty/wordpress-mu-loader

Loads regular plugins from the plugins directory as must-use plugins, enforcing their activity while maintaining the typical update flow.
https://github.com/thefrosty/wordpress-mu-loader

Last synced: about 2 months ago
JSON representation

Loads regular plugins from the plugins directory as must-use plugins, enforcing their activity while maintaining the typical update flow.

Awesome Lists containing this project

README

        

# WP Plugin MU Loader

## Installation

```bash
composer require thefosty/wordpress-mu-loader:^1.1
```

Loads regular plugins from the plugins' directory as "must-use plugins", enforcing their activity
while maintaining the typical update flow. This file will take care of all necessary logic,
including preventing activation/deactivation/deletion of those plugins as regular plugins.

#### Benefits

* Enforce plugins to be active throughout the entire installation.
* Continue receiving automated update notifications.
* Be able to comfortably update those plugins from the WordPress dashboard.
* The plugin activation, deactivation, and uninstallation routines are executed as usual.

#### Requirements
* WordPress >= 6.0
* PHP >= 8.0

#### Usage

* You can then pass basenames of the plugins you would like to load as MU plugins to the constructor call in the
`wp_plugin_mu_loader()` function, as an array.
* A plugin basename consists of the plugin directory name, a trailing slash, and the plugin main file name, for
example wordpress-seo/wp-seo.php, jetpack/jetpack.php, or woocommerce/woocommerce.php.
* Alternatively, if you don't want to tweak the code of the function itself, you can also access the loader from the
outside: Retrieve the instance via wp_plugin_mu_loader() and then call its load_plugin() method, passing a single plugin
basename string to it.

#### Example

```php
wp_plugin_mu_loader()->loadPlugin( 'custom-login/custom-login.php' );
```

OR, create a git managed mu-plugin:

```php
loadPlugin($plugin_basename);
} catch (\InvalidArgumentException | \RuntimeException $exception) {
// Log something here?
}
});
});
```