wp plugin
Manages plugins, including installs, activations, and updates.
See the WordPress Plugin Handbook developer resource for more information on plugins.
| Commands | Description |
|---|---|
| wp plugin status | Reveals the status of one or all plugins. |
| wp plugin search | Searches the WordPress.org plugin directory. |
| wp plugin activate | Activates one or more plugins. |
| wp plugin deactivate | Deactivates one or more plugins. |
| wp plugin toggle | Toggles a plugin's activation state. |
| wp plugin path | Gets the path to a plugin or to the plugin directory. |
| wp plugin update | Updates one or more plugins. |
| wp plugin install | Installs one or more plugins. |
| wp plugin get | Gets details about an installed plugin. |
| wp plugin uninstall | Uninstalls one or more plugins. |
| wp plugin is-installed | Checks if a given plugin is installed. |
| wp plugin is-active | Checks if a given plugin is active. |
| wp plugin delete | Deletes plugin files without deactivating or uninstalling. |
| wp plugin list | Gets a list of plugins. |
| wp plugin verify-checksums | Verifies plugin files against WordPress.org's checksums. |
Examples
# Activate plugin $ wp plugin activate hello Plugin 'hello' activated. Success: Activated 1 of 1 plugins. # Deactivate plugin $ wp plugin deactivate hello Plugin 'hello' deactivated. Success: Deactivated 1 of 1 plugins. # Delete plugin $ wp plugin delete hello Deleted 'hello' plugin. Success: Deleted 1 of 1 plugins. # Install the latest version from wordpress.org and activate $ wp plugin install bbpress --activate Installing bbPress (2.5.9) Downloading install package from https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip... Using cached file '/home/vagrant/.wp-cli/cache/plugin/bbpress-2.5.9.zip'... Unpacking the package... Installing the plugin... Plugin installed successfully. Activating 'bbpress'... Plugin 'bbpress' activated. Success: Installed 1 of 1 plugins.
Source code of the commands
wp plugin status
Reveals the status of one or all plugins.
Usage
wp plugin status
You can specify global options and the following:
- [{plugin}]
- A particular plugin to show the status for.
Examples
# Displays status of all plugins $ wp plugin status 5 installed plugins: I akismet 3.1.11 I easy-digital-downloads 2.5.16 A theme-check 20160523.1 I wen-logo-slider 2.0.3 M ns-pack 1.0.0 Legend: I = Inactive, A = Active, M = Must Use
# Displays status of a plugin $ wp plugin status theme-check Plugin theme-check details: Name: Theme Check Status: Active Version: 20160523.1 Author: Otto42, pross Description: A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!
wp plugin search
Searches the WordPress.org plugin directory.
Displays plugins in the WordPress.org plugin directory matching a given search query.
Usage
wp plugin search
You can specify global options and the following:
- {search}
- The string to search for.
- [--page={page}]
- Optional page to display.
Default: 1 - [--per-page={per-page}]
- Optional number of results to display.
Default: 10 - [--field={field}]
- Prints the value of a single field for each plugin.
- [--fields={fields}]
Ask for specific fields from the API. Defaults to name,slug,author_profile,rating. Acceptable values:
name: Plugin Name
slug: Plugin Slug
version: Current Version Number
author: Plugin Author
author_profile: Plugin Author Profile
contributors: Plugin Contributors
requires: Plugin Minimum Requirements
tested: Plugin Tested Up To
compatibility: Plugin Compatible With
rating: Plugin Rating in Percent and Total Number
ratings: Plugin Ratings for each star (1-5)
num_ratings: Number of Plugin Ratings
homepage: Plugin Author's Homepage
description: Plugin's Description
short_description: Plugin's Short Description
sections: Plugin Readme Sections: description, installation, FAQ, screenshots, other notes, and changelog
downloaded: Plugin Download Count
last_updated: Plugin's Last Update
added: Plugin's Date Added to wordpress.org Repository
tags: Plugin's Tags
versions: Plugin's Available Versions with D/L Link
donate_link: Plugin's Donation Link
banners: Plugin's Banner Image Link
icons: Plugin's Icon Image Link
active_installs: Plugin's Number of Active Installs
contributors: Plugin's List of Contributors
url: Plugin's URL on wordpress.org- [--format={format}]
Render output in a particular format.
Default: table
Can be:- table
- csv
- count
- json
- yaml
Examples
$ wp plugin search dsgnwrks --per-page=20 --format=json
Success: Showing 3 of 3 plugins.
[{"name":"DsgnWrks Instagram Importer Debug","slug":"dsgnwrks-instagram-importer-debug","rating":0},{"name":"DsgnWrks Instagram Importer","slug":"dsgnwrks-instagram-importer","rating":84},{"name":"DsgnWrks Twitter Importer","slug":"dsgnwrks-twitter-importer","rating":80}]
$ wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings Success: Showing 3 of 3 plugins. +-----------------------------------+---------+-----------------------------------+--------+-------------+ | name | version | slug | rating | num_ratings | +-----------------------------------+---------+-----------------------------------+--------+-------------+ | DsgnWrks Instagram Importer Debug | 0.1.6 | dsgnwrks-instagram-importer-debug | 0 | 0 | | DsgnWrks Instagram Importer | 1.3.7 | dsgnwrks-instagram-importer | 84 | 23 | | DsgnWrks Twitter Importer | 1.1.1 | dsgnwrks-twitter-importer | 80 | 1 | +-----------------------------------+---------+-----------------------------------+--------+-------------+
wp plugin activate
Activates one or more plugins.
Usage
wp plugin activate
You can specify global options and the following:
- [{plugin}...]
- One or more plugins to activate.
- [--all]
- If set, all plugins will be activated.
- [--network]
- If set, the plugin will be activated for the entire multisite network.
Examples
# Activate plugin $ wp plugin activate hello Plugin 'hello' activated. Success: Activated 1 of 1 plugins.
# Activate plugin in entire multisite network $ wp plugin activate hello --network Plugin 'hello' network activated. Success: Network activated 1 of 1 plugins.
wp plugin deactivate
Deactivates one or more plugins.
Usage
wp plugin deactivate
You can specify global options and the following:
- [{plugin}...]
- One or more plugins to deactivate.
- [--uninstall]
- Uninstall the plugin after deactivation.
- [--all]
- If set, all plugins will be deactivated.
- [--network]
- If set, the plugin will be deactivated for the entire multisite network.
Examples
# Deactivate plugin $ wp plugin deactivate hello Plugin 'hello' deactivated. Success: Deactivated 1 of 1 plugins.
wp plugin toggle
Toggles a plugin's activation state.
If the plugin is active, then it will be deactivated. If the plugin is inactive, then it will be activated.
Usage
wp plugin toggle
You can specify global options and the following:
- {plugin}...
- One or more plugins to toggle.
- [--network]
- If set, the plugin will be toggled for the entire multisite network.
Examples
# Akismet is currently activated $ wp plugin toggle akismet Plugin 'akismet' deactivated. Success: Toggled 1 of 1 plugins.
# Akismet is currently deactivated $ wp plugin toggle akismet Plugin 'akismet' activated. Success: Toggled 1 of 1 plugins.
wp plugin path
Gets the path to a plugin or to the plugin directory.
Usage
wp plugin path
You can specify global options and the following:
- [{plugin}]
- The plugin to get the path to. If not set, will return the path to the plugins directory.
- [--dir]
- If set, get the path to the closest parent directory, instead of the plugin file.
Examples
$ cd $(wp plugin path) && pwd /var/www/wordpress/wp-content/plugins
wp plugin update
Updates one or more plugins.
Usage
wp plugin update
You can specify global options and the following:
- [{plugin}...]
- One or more plugins to update.
- [--all]
- If set, all plugins that have updates will be updated.
- [--exclude={name}]
- Comma separated list of plugin names that should be excluded from updating.
- [--minor]
- Only perform updates for minor releases (e.g. from 1.3 to 1.4 instead of 2.0)
- [--patch]
- Only perform updates for patch releases (e.g. from 1.3 to 1.3.3 instead of 1.4)
- [--format={format}]
Render output in a particular format.
Default: table
Can be:- table
- csv
- json
- summary
- [--version={version}]
- If set, the plugin will be updated to the specified version.
- [--dry-run]
- Preview which plugins would be updated.
Examples
$ wp plugin update bbpress --version=dev Installing bbPress (Development Version) Downloading install package from https://downloads.wordpress.org/plugin/bbpress.zip... Unpacking the package... Installing the plugin... Removing the old version of the plugin... Plugin updated successfully. Success: Updated 1 of 2 plugins.
$ wp plugin update --all Enabling Maintenance mode... Downloading update from https://downloads.wordpress.org/plugin/akismet.3.1.11.zip... Unpacking the update... Installing the latest version... Removing the old version of the plugin... Plugin updated successfully. Downloading update from https://downloads.wordpress.org/plugin/nginx-champuru.3.2.0.zip... Unpacking the update... Installing the latest version... Removing the old version of the plugin... Plugin updated successfully. Disabling Maintenance mode... +------------------------+-------------+-------------+---------+ | name | old_version | new_version | status | +------------------------+-------------+-------------+---------+ | akismet | 3.1.3 | 3.1.11 | Updated | | nginx-cache-controller | 3.1.1 | 3.2.0 | Updated | +------------------------+-------------+-------------+---------+ Success: Updated 2 of 2 plugins.
$ wp plugin update --all --exclude=akismet Enabling Maintenance mode... Downloading update from https://downloads.wordpress.org/plugin/nginx-champuru.3.2.0.zip... Unpacking the update... Installing the latest version... Removing the old version of the plugin... Plugin updated successfully. Disabling Maintenance mode... +------------------------+-------------+-------------+---------+ | name | old_version | new_version | status | +------------------------+-------------+-------------+---------+ | nginx-cache-controller | 3.1.1 | 3.2.0 | Updated | +------------------------+-------------+-------------+---------+
wp plugin install
Installs one or more plugins.
Usage
wp plugin install
You can specify global options and the following:
- {plugin|zip|url}...
- One or more plugins to install. Accepts a plugin slug, the path to a local zip file, or a URL to a remote zip file.
- [--version={version}]
- If set, get that particular version from wordpress.org, instead of the stable version.
- [--force]
- If set, the command will overwrite any installed version of the plugin, without prompting for confirmation.
- [--activate]
- If set, the plugin will be activated immediately after install.
- [--activate-network]
- If set, the plugin will be network activated immediately after install
Examples
# Install the latest version from wordpress.org and activate $ wp plugin install bbpress --activate Installing bbPress (2.5.9) Downloading install package from https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip... Using cached file '/home/vagrant/.wp-cli/cache/plugin/bbpress-2.5.9.zip'... Unpacking the package... Installing the plugin... Plugin installed successfully. Activating 'bbpress'... Plugin 'bbpress' activated. Success: Installed 1 of 1 plugins.
# Install the development version from wordpress.org $ wp plugin install bbpress --version=dev Installing bbPress (Development Version) Downloading install package from https://downloads.wordpress.org/plugin/bbpress.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins.
# Install from a local zip file $ wp plugin install ../my-plugin.zip Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins.
# Install from a remote zip file $ wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef Downloading install package from http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins.
# Update from a remote zip file $ wp plugin install https://github.com/envato/wp-envato-market/archive/master.zip --force Downloading install package from https://github.com/envato/wp-envato-market/archive/master.zip Unpacking the package... Installing the plugin... Renamed Github-based project from 'wp-envato-market-master' to 'wp-envato-market'. Plugin updated successfully Success: Installed 1 of 1 plugins.
# Forcefully re-install all installed plugins $ wp plugin install $(wp plugin list --field=name) --force Installing Akismet (3.1.11) Downloading install package from https://downloads.wordpress.org/plugin/akismet.3.1.11.zip... Unpacking the package... Installing the plugin... Removing the old version of the plugin... Plugin updated successfully Success: Installed 1 of 1 plugins.
wp plugin get
Gets details about an installed plugin.
Usage
wp plugin get
You can specify global options and the following:
- {plugin}
- The plugin to get.
- [--field={field}]
- Instead of returning the whole plugin, returns the value of a single field.
- [--fields={fields}]
- Limit the output to specific fields. Defaults to all fields.
- [--format={format}]
Render output in a particular format.
Default: table
Can be:- table
- csv
- json
- yaml
Examples
$ wp plugin get bbpress --format=json
{"name":"bbpress","title":"bbPress","author":"The bbPress Contributors","version":"2.6-alpha","description":"bbPress is forum software with a twist from the creators of WordPress.","status":"active"}
wp plugin uninstall
Uninstalls one or more plugins.
Usage
wp plugin uninstall
You can specify global options and the following:
- [{plugin}...]
- One or more plugins to uninstall.
- [--deactivate]
- Deactivate the plugin before uninstalling. Default behavior is to warn and skip if the plugin is active.
- [--skip-delete]
- If set, the plugin files will not be deleted. Only the uninstall procedure will be run.
- [--all]
- If set, all plugins will be uninstalled.
Examples
$ wp plugin uninstall hello Uninstalled and deleted 'hello' plugin. Success: Installed 1 of 1 plugins.
wp plugin is-installed
Checks if a given plugin is installed.
Returns exit code 0 when installed, 1 when uninstalled.
Usage
wp plugin is-installed
You can specify global options and the following:
- {plugin}
- The plugin to check.
Examples
# Check whether plugin is installed; exit status 0 if installed, otherwise 1 $ wp plugin is-installed hello $ echo $? 1
wp plugin is-active
Checks if a given plugin is active.
Returns exit code 0 when active, 1 when not active.
Usage
wp plugin is-active
You can specify global options and the following:
- {plugin}
- The plugin to check.
Examples
# Check whether plugin is Active; exit status 0 if active, otherwise 1 $ wp plugin is-active hello $ echo $? 1
wp plugin delete
Deletes plugin files without deactivating or uninstalling.
Usage
wp plugin delete
You can specify global options and the following:
- [{plugin}...]
- One or more plugins to delete.
- [--all]
- If set, all plugins will be deleted.
Examples
# Delete plugin $ wp plugin delete hello Deleted 'hello' plugin. Success: Deleted 1 of 1 plugins.
# Delete inactive plugins $ wp plugin delete $(wp plugin list --status=inactive --field=name) Deleted 'tinymce-templates' plugin. Success: Deleted 1 of 1 plugins.
wp plugin list
Gets a list of plugins.
Displays a list of the plugins installed on the site with activation status, whether or not there's an update available, etc.
Use --status=dropin to list installed dropins (e.g. object-cache.php).
Usage
wp plugin list
You can specify global options and the following:
- [--{field}={value}]
- Filter results based on the value of a field.
- [--field={field}]
- Prints the value of a single field for each plugin.
- [--fields={fields}]
- Limit the output to specific object fields.
- [--format={format}]
Render output in a particular format.
Default: table
Can be:- table
- csv
- count
- json
- yaml
Available fields
These fields will be displayed by default for each plugin:
- name
- status
- update
- version
These fields are optionally available:
- update_version
- update_package
- update_id
- title
- description
Examples
# List active plugins on the site.
$ wp plugin list --status=active --format=json
[{"name":"dynamic-hostname","status":"active","update":"none","version":"0.4.2"},{"name":"tinymce-templates","status":"active","update":"none","version":"4.4.3"},{"name":"wp-multibyte-patch","status":"active","update":"none","version":"2.4"},{"name":"wp-total-hacks","status":"active","update":"none","version":"2.0.1"}]
# List plugins on each site in a network. $ wp site list --field=url | xargs -I % wp plugin list --url=% +---------+----------------+--------+---------+ | name | status | update | version | +---------+----------------+--------+---------+ | akismet | active-network | none | 3.1.11 | | hello | inactive | none | 1.6 | +---------+----------------+--------+---------+ +---------+----------------+--------+---------+ | name | status | update | version | +---------+----------------+--------+---------+ | akismet | active-network | none | 3.1.11 | | hello | inactive | none | 1.6 | +---------+----------------+--------+---------+
wp plugin verify-checksums
Verifies plugin files against WordPress.org's checksums.
Usage
wp plugin verify-checksums
You can specify global options and the following:
- [{plugin}...]
- One or more plugins to verify.
- [--all]
- If set, all plugins will be verified.
- [--strict]
- If set, even "soft changes" like readme.txt changes will trigger checksum errors.
- [--format={format}]
Render output in a specific format.
Default: table
Can be:- table
- json
- csv
- yaml
- count
Examples
# Verify the checksums of all installed plugins $ wp plugin verify-checksums --all Success: Verified 8 of 8 plugins.
# Verify the checksums of a single plugin, Akismet in this case $ wp plugin verify-checksums akismet Success: Verified 1 of 1 plugins.