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.
- Host: GitHub
- URL: https://github.com/thefrosty/wordpress-mu-loader
- Owner: thefrosty
- License: gpl-3.0
- Created: 2022-07-04T16:59:25.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-06T00:18:21.000Z (6 months ago)
- Last Synced: 2025-04-17T15:13:44.301Z (2 months ago)
- Language: PHP
- Size: 36.1 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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?
}
});
});
```