Install many WordPress plugins at once — from ZIP uploads, direct URLs, the wordpress.org repository, or GitHub releases — from a single workspace under Plugins → Multi Plugin Installer.
- Upload — drag-and-drop one or many
.zipfiles. Per-file status, log, and progress. - From URL — paste any number of direct ZIP URLs (one per line).
- From Repository — search and install from wordpress.org by slug.
- GitHub — install the latest release from
owner/repo. Optional access token for private repositories. - Bundles — save a named, reusable list of installable items (URL / slug / GitHub). Install the whole set with one click. Import / export as JSON.
- Activate after install — opt-in toggle on every tab.
- Activity log — last 200 install attempts, with status, source, and message.
- WP-CLI —
wp wd-mpi install <source>...andwp wd-mpi bundle-install <id>. - REST API — namespaced under
/wp-json/wd-mpi/v1/. - Security — nonce +
install_plugins+upload_pluginscapability checks on every endpoint, MIME/extension validation, temp file cleanup, no inline form posts.
- WordPress 6.2+
- PHP 7.4+
- Place the plugin folder in
wp-content/plugins/wd-multi-plugin-installer. - Activate it from the Plugins screen.
- Open Plugins → Multi Plugin Installer.
wp wd-mpi install ./acme-forms.zip
wp wd-mpi install akismet jetpack --activate
wp wd-mpi install https://example.com/plugin.zip
wp wd-mpi install owner/repo --token=ghp_xxx
wp wd-mpi bundle-list
wp wd-mpi bundle-install <id> --activate
| Method | Endpoint | Body |
|---|---|---|
| POST | /wd-mpi/v1/install/zip |
multipart, field file |
| POST | /wd-mpi/v1/install/url |
{ url, activate?, overwrite? } |
| POST | /wd-mpi/v1/install/slug |
{ slug, activate?, overwrite? } |
| POST | /wd-mpi/v1/install/github |
{ repo, token?, activate? } |
| GET | /wd-mpi/v1/search?q= |
— |
| GET | /wd-mpi/v1/bundles |
— |
| POST | /wd-mpi/v1/bundles |
bundle JSON |
| DELETE | /wd-mpi/v1/bundles/{id} |
— |
| POST | /wd-mpi/v1/bundles/import |
bundle or { bundles: [...] } |
| GET | /wd-mpi/v1/activity |
— |
| DELETE | /wd-mpi/v1/activity |
— |
All endpoints require the install_plugins and upload_plugins capabilities and a valid REST nonce.
GPL-2.0-or-later