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 [{plugin}]
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 {search} [--page={page}] [--per-page={per-page}] [--field={field}] [--fields={fields}] [--format={format}]
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 [{plugin}...] [--all] [--network]
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 [{plugin}...] [--uninstall] [--all] [--network]
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 {plugin}... [--network]
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 [{plugin}] [--dir]
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 [{plugin}...] [--all] [--exclude={name}] [--minor] [--patch] [--format={format}] [--version={version}] [--dry-run]
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 {plugin|zip|url}... [--version={version}] [--force] [--activate] [--activate-network]
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 {plugin} [--field={field}] [--fields={fields}] [--format={format}]
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 [{plugin}...] [--deactivate] [--skip-delete] [--all]
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 {plugin}
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 {plugin}
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 [{plugin}...] [--all]
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 [--{field}={value}] [--field={field}] [--fields={fields}] [--format={format}]
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 [{plugin}...] [--all] [--strict] [--format={format}]
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.