WP-CLI Cheat Sheet — A Quick Reference Guide for Using WP CLI like a Pro!

WP CLI CheatSheet

WP-CLI is the command-line interface for WordPress which enables you to manage and maintain WordPress sites without using a web browser. There are commands to install plugins, activate theme, update WordPress core, search and replace WordPress database, take a backup and the list goes on. WP CLI is a handy resource for the developers and it is also an effective tool for fixing a hacked WordPress site.

So let’s start with installing WP CLI.

WP CLI Installation Guide

Prerequisites:

  • UNIX-like environment (Linux, FreeBSD, OS X) (limited support in Windows environment)
  • PHP 5.6 or later
  • WordPress 3.7 or later (versions older than the latest WordPress release may have degraded functionality)

Step One: Download the wp-cli.phar file using curl:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Step Two: Verify that the PHAR file is working:

php wp-cli.phar --info

Step Three:  Make wp-cli.phar executable:

chmod +x wp-cli.phar

Step Four: Rename wp-cli.phar to call is wp for ease of use

sudo mv wp-cli.phar wp

Step Five: Verify that wp command is working

wp --info

If WP-CLI was installed successfully, you will see the following output:

OS:	Linux e43.ehosts.com 3.10.0-693.11.6.1.ELK.el6.x86_64 #1 SMP Tue Jan 23 10:30:30 MST 2018 x86_64
Shell:	/usr/local/cpanel/bin/jailshell
PHP binary:	/opt/cpanel/ea-php56/root/usr/bin/php
PHP version:	5.6.40
php.ini used:	/opt/cpanel/ea-php56/root/etc/php.ini
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/home2/me/public_html/cgi-bin
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	/home2/me/public_html/wp-cli.yml
WP-CLI version:	2.0.0

Reference: Official WP CLI Installation Guide

WP CLI Commands — Usage Examples and Listing

Here are some of the WP CLI commands that I use most of time:

  1. Backing up WordPress Database:
    wp db export example-db.sql

    replace example-db.sql with what you want to call your sql backup file

  2. Database Search and Replace:
    wp search-replace 'http://example.test' 'http://example.com'

    replace http://example.test with old value and http://example.com with new value

  3. Flush cache:
    wp cache flush
  4. Install and activate plugin:
    wp plugin install bbpress --activate
  5. Flush / Refresh Permalink:
    wp rewrite flush

And here’s a complete list of WP CLI commands for managing WordPress via command-line interface:

Cache

wp cache commands for adding, removing, fetching, and flushing the WP Object Cache object

Command Description
wp cache add Adds a value to the object cache
wp cache decr Decrements a value in the object cache
wp cache delete Removes a value from the object cache
wp cache flush Flushes the object cache
wp cache get Gets a value from the object cache
wp cache incr Increments a value in the object cache
wp cache replace Replaces a value in the object cache, if the value already exists
wp cache set Sets a value to the object cache, regardless of whether it already exists
wp cache type Attempts to determine which object cache is being used

Cap

wp cap commands for adding, removing, and listing capabilities of a user role

Command Description
wp cap add Adds capabilities to a given role
wp cap list Lists capabilities for a given role
wp cap remove Removes capabilities from a given role

CLI

wp cli commands for reviewing current WP-CLI info, checking for updates, or viewing defined aliases

Command Description
wp cli alias Retrieves, sets and updates aliases for WordPress Installations
wp cli cache Manages the internal WP-CLI cache
wp cli check-update Checks to see if there is a newer version of WP-CLI available
wp cli cmd-dump Dumps the list of installed commands, as JSON
wp cli completions Generates tab completion strings
wp cli has-command Detects if a command exists
wp cli info Prints various details about the WP-CLI environment
wp cli param-dump Dumps the list of global parameters, as JSON or in var_export format
wp cli update Updates WP-CLI to the latest release
wp cli version Prints WP-CLI version

Comment

wp comment commands for creating, updating, deleting, and moderating comments

Command Description
wp comment approve Approves a comment
wp comment count Counts comments, on whole blog or on a given post
wp comment create Creates a new comment
wp comment delete Deletes a comment
wp comment exists Verifies whether a comment exists
wp comment generate Generates some number of new dummy comments
wp comment get Gets the data of a single comment
wp comment list Gets a list of comments
wp comment meta Adds, updates, deletes, and lists comment custom fields
wp comment recount Recalculates the comment_count value for one or more posts
wp comment spam Marks a comment as spam
wp comment status Gets the status of a comment
wp comment trash Trashes a comment
wp comment unapprove Unapproves a comment
wp comment unspam Unmarks a comment as spam
wp comment untrash Untrashes a comment
wp comment update Updates one or more comments

Config

wp config commands for generating and reading the wp-config.php file

Command Description
wp config create Generates a wp-config.php file
wp config delete Deletes a specific constant or variable from the wp-config.php file
wp config edit Launches system editor to edit the wp-config.php file
wp config get Gets the value of a specific constant or variable defined in wp-config.php file
wp config has Checks whether a specific constant or variable exists in the wp-config.php file
wp config list Lists variables, constants, and file includes defined in wp-config.php file
wp config path Gets the path to wp-config.php file
wp config set Sets the value of a specific constant or variable defined in wp-config.php file
wp config shuffle-salts Refreshes the salts defined in the wp-config.php file

Core

wp core commands for downloading, installing, updating, and managing a WordPress installation

Command Description
wp core check-update Checks for WordPress updates via Version Check API
wp core download Downloads core WordPress files
wp core install Runs the standard WordPress installation process
wp core is-installed Checks if WordPress is installed
wp core multisite-convert Transforms an existing single-site installation into a multisite installation
wp core multisite-install Installs WordPress multisite from scratch
wp core update Updates WordPress to a newer version
wp core update-db Runs the WordPress database update procedure
wp core verify-checksums Verifies WordPress files against WordPress.org’s checksums
wp core version Displays the WordPress version

Cron

wp cron commands for testing, runing, and deleting WP-Cron events; managing WP-Cron schedules

Command Description
wp cron event Schedules, runs, and deletes WP-Cron events
wp cron schedule Gets WP-Cron schedules
wp cron test Tests the WP Cron spawning system and reports back its status

Database

wp db commands for performing basic database operations using credentials stored in wp-config.php

Command Description
wp db check Checks the current status of the database
wp db clean Removes all tables with `$table_prefix` from the database
wp db cli Opens a MySQL console using credentials from wp-config.php
wp db columns Displays information about a given table
wp db create Creates a new database
wp db drop Deletes the existing database
wp db export Exports the database to a file or to STDOUT
wp db import Imports a database from a file or from STDIN
wp db optimize Optimizes the database
wp db prefix Displays the database table prefix
wp db query Executes a SQL query against the database
wp db repair Repairs the database
wp db reset Removes all tables from the database
wp db search Finds a string in the database
wp db size Displays the database name and size
wp db tables Lists the database tables

Embeds

wp embed commands for inspecting oEmbed providers, clearing embed cache, and more

Command Description
wp embed cache Finds, triggers, and deletes oEmbed caches
wp embed fetch Attempts to convert a URL into embed HTML
wp embed handler Retrieves embed handlers
wp embed provider Retrieves oEmbed providers

Language

wp language commands for installing, activating, and managing language packs

Command Description
wp language core Installs, activates, and manages core language packs
wp language plugin Installs, activates, and manages plugin language packs
wp language theme Installs, activates, and manages theme language packs

Maintenance Mode

wp maintenance-mode commands for activating, deactivating or checking the status of the maintenance mode of a site

Command Description
wp maintenance-mode activate Activates maintenance mode
wp maintenance-mode deactivate Deactivates maintenance mode
wp maintenance-mode is-active Detects maintenance mode status
wp maintenance-mode status Displays maintenance mode status

Media

wp media commands for importing files as attachments, regenerating thumbnails, or listing registered image sizes

Command Description
wp media fix-orientation Fix image orientation for one or more attachments
wp media image-size Lists image sizes registered with WordPress
wp media import Creates attachments from local files or URLs
wp media regenerate Regenerates thumbnails for one or more attachments

wp menu commands for listing, creating, assigning, and deleting the active theme’s navigation menus

Command Description
wp menu create Creates a new menu
wp menu delete Deletes one or more menus
wp menu item List, add, and delete items associated with a menu
wp menu list Gets a list of menus
wp menu location Assigns, removes, and lists a menu’s locations

Network

wp network commands for performing network-wide operations

Command Description
wp network meta Gets, adds, updates, deletes, and lists network custom fields.
wp network meta add Add a meta field
wp network meta delete Delete a meta field
wp network meta get Get meta field value
wp network meta list List all metadata associated with an object
wp network meta patch Update a nested value for a meta field
wp network meta pluck Get a nested value from a meta field
wp network meta update Update a meta field

Option

wp option commands for retrieving and setting site options, including plugin and WordPress settings

Command Description
wp option add Adds a new option value
wp option delete Deletes an option
wp option get Gets the value for an option
wp option list Lists options and their values
wp option patch Updates a nested value in an option
wp option pluck Gets a nested value from an option
wp option update Updates an option value

Package

wp package commands for listing, installing, and removing WP-CLI packages

Command Description
wp package browse Browses WP-CLI packages available for installation
wp package install Installs a WP-CLI package
wp package list Lists installed WP-CLI packages
wp package path Gets the path to an installed WP-CLI package, or the package directory
wp package uninstall Uninstalls a WP-CLI package
wp package update Updates all installed WP-CLI packages to their latest version

Plugin

wp plugin commands for managing plugins, including installs, activations, and updates

Command Description
wp plugin activate Activates one or more plugins
wp plugin auto-updates Manages plugin auto-updates
wp plugin deactivate Deactivates one or more plugins
wp plugin delete Deletes plugin files without deactivating or uninstalling
wp plugin get Gets details about an installed plugin
wp plugin install Installs one or more plugins
wp plugin is-active Checks if a given plugin is active
wp plugin is-installed Checks if a given plugin is installed
wp plugin list Gets a list of plugins
wp plugin path Gets the path to a plugin or to the plugin directory
wp plugin search Searches the WordPress.org plugin directory
wp plugin status Reveals the status of one or all plugins
wp plugin toggle Toggles a plugin’s activation state
wp plugin uninstall Uninstalls one or more plugins
wp plugin update Updates one or more plugins
wp plugin verify-checksums Verifies plugin files against WordPress.org’s checksums

Post

wp post commands for managing posts, content, and meta

Command Description
wp post create Creates a new post
wp post delete Deletes an existing post
wp post edit Launches system editor to edit post content
wp post exists Verifies whether a post exists
wp post generate Generates some posts
wp post get Gets details about a post
wp post list Gets a list of posts
wp post meta Adds, updates, deletes, and lists post custom fields
wp post term Adds, updates, removes, and lists post terms
wp post update Updates one or more existing posts

Post Type

wp post-type commands for retrieving details on the site’s registered post types

Command Description
wp post-type get Gets details about a registered post type
wp post-type list Lists registered post types

Profile

wp profile commands

Command Description
wp profile eval Profile arbitrary code execution
wp profile eval-file Profile execution of an arbitrary file
wp profile hook Profile key metrics for WordPress hooks (actions and filters)
wp profile stage Profile each stage of the WordPress load process (bootstrap, main_query, template)

Rewrite

wp profile commands for listing or flushing the site’s rewrite rules, updating the permalink structure

Command Description
wp rewrite flush Flushes rewrite rules
wp rewrite list Gets a list of the current rewrite rules
wp rewrite structure Updates the permalink structure

Role

wp role commands for managing user roles, including creating new roles and resetting to defaults

Command Description
wp role create Creates a new role
wp role delete Deletes an existing role
wp role exists Checks if a role exists
wp role list Lists all roles
wp role reset Resets any default role to default capabilities

Scaffold

wp scaffold commands for generating code for post types, taxonomies, plugins, child themes, etc

Command Description
wp scaffold block Generates PHP, JS and CSS code for registering a Gutenberg block for a plugin or theme
wp scaffold child-theme Generates child theme based on an existing theme
wp scaffold plugin Generates starter code for a plugin
wp scaffold plugin-tests Generates files needed for running PHPUnit tests in a plugin
wp scaffold post-type Generates PHP code for registering a custom post type
wp scaffold taxonomy Generates PHP code for registering a custom taxonomy
wp scaffold theme-tests Generates files needed for running PHPUnit tests in a theme
wp scaffold underscores Generates starter code for a theme based on _s
wp scaffold _s Generates starter code for a theme based on _s

wp sidebar commands for listing registered sidebars

Command Description
wp sidebar list Lists registered sidebars

Site

wp site commands for creating, deleting, emptying, moderating, and listing one or more sites on a multisite installation

Command Description
wp site activate Activates one or more sites
wp site archive Archives one or more sites
wp site create Creates a site in a multisite installation
wp site deactivate Deactivates one or more sites
wp site delete Deletes a site in a multisite installation
wp site empty Empties a site of its content (posts, comments, terms, and meta)
wp site list Lists all sites in a multisite installation
wp site mature Sets one or more sites as mature
wp site meta Adds, updates, deletes, and lists site custom fields
wp site option Adds, updates, deletes, and lists site options in a multisite installation
wp site private Sets one or more sites as private
wp site public Sets one or more sites as public
wp site spam Marks one or more sites as spam
wp site switch-language Activates a given language
wp site unarchive Unarchives one or more sites
wp site unmature Sets one or more sites as immature
wp site unspam Removes one or more sites from spam

Super Admin

wp super-admin commands for listing, adding, or removing super admin users on a multisite installation

Command Description
wp super-admin add Grants super admin privileges to one or more users
wp super-admin list Lists users with super admin capabilities
wp super-admin remove Removes super admin privileges from one or more users

Taxonomy

wp taxonomy commands for retrieving information about registered taxonomies

Command Description
wp taxonomy get Gets details about a registered taxonomy
wp taxonomy list Lists registered taxonomies

Term

wp term commands for managing taxonomy terms and term meta, with create, delete, and list commands

Command Description
wp term create Creates a new term
wp term delete Deletes an existing term
wp term generate Generates some terms
wp term get Gets details about a term
wp term list Lists terms in a taxonomy
wp term meta Adds, updates, deletes, and lists term custom fields
wp term migrate Migrate a term of a taxonomy to another taxonomy
wp term recount Recalculates number of posts assigned to each term
wp term update Updates an existing term

Theme

wp theme commands for managing themes, including installs, activations, and updates

Command Description
wp theme activate Activates a theme
wp theme auto-updates Manages theme auto-updates
wp theme delete Deletes one or more themes
wp theme disable Disables a theme on a WordPress multisite install
wp theme enable Enables a theme on a WordPress multisite install
wp theme get Gets details about a theme
wp theme install Installs one or more themes
wp theme is-active Checks if a given theme is active
wp theme is-installed Checks if a given theme is installed
wp theme list Gets a list of themes
wp theme mod Sets, gets, and removes theme mods
wp theme path Gets the path to a theme or to the theme directory
wp theme search Searches the WordPress.org theme directory
wp theme status Reveals the status of one or all themes
wp theme update Updates one or more themes

Transient

wp transient commands for adding, getting, and deleting entries in the WordPress Transient Cache

Command Description
wp transient delete Deletes a transient value
wp transient get Gets a transient value
wp transient list Lists transients and their values
wp transient set Sets a transient value
wp transient type Determines the type of transients implementation

User

wp user commands for managing users, along with their roles, capabilities, and meta

Command Description
wp user add-cap Adds a capability to a user
wp user add-role Adds a role for a user
wp user application-password Creates, updates, deletes, lists and retrieves application passwords
wp user check-password Checks if a user’s password is valid or not
wp user create Creates a new user
wp user delete Deletes one or more users from the current site
wp user generate Generates some users
wp user get Gets details about a user
wp user import-csv Imports users from a CSV file
wp user list Lists users
wp user list-caps Lists all capabilities for a user
wp user meta Adds, updates, deletes, and lists user custom fields
wp user remove-cap Removes a user’s capability
wp user remove-role Removes a user’s role
wp user reset-password Resets the password for one or more users
wp user session Destroys and lists a user’s sessions
wp user set-role Sets the user role
wp user spam Marks one or more users as spam
wp user term Adds, updates, removes, and lists user terms
wp user unspam Removes one or more users from spam
wp user update Updates an existing user

Widget

wp widget commands for managing widgets, including adding and moving them within sidebars

Command Description
wp widget add Adds a widget to a sidebar
wp widget deactivate Deactivates one or more widgets from an active sidebar
wp widget delete Deletes one or more widgets from a sidebar
wp widget list Lists widgets associated with a sidebar
wp widget move Moves the position of a widget
wp widget reset Resets sidebar
wp widget update Updates options for an existing widget

Internationalization

wp i18n commands for providing internationalization tools for WordPress projects

Command Description
wp i18n make-json Extract JavaScript strings from PO files and add them to individual JSON files
wp i18n make-mo Create MO files from PO files
wp i18n make-pot Create a POT file for a WordPress project
wp i18n update-po Update PO files from a POT file

Others

WP CLI commands which do not have any subcommands

Command Description
wp admin Open /wp-admin/ in a browser
wp eval Exports WordPress content to a WXR file
wp eval-file Loads and executes a PHP file
wp import Imports content from a given WXR file
wp export Exports WordPress content to a WXR file
wp find Find WordPress installations on the filesystem
wp help Gets help on WP-CLI, or on a specific command
wp shell Opens an interactive PHP console for running and testing PHP code
wp server Launches PHP’s built-in web server for a specific WordPress installation
wp search-replace Searches/replaces strings in the database
wp dist-archive Create a distribution archive based on a project’s .distignore file

See Also:

This article is written by Evelyn Allison. Evelyn has over two decades of experience with the big-tech corporate giants. Starting in 2002 with consumer IT remote support, he transitioned into IT enterprise support and systems provisioning for Windows and Linux servers. Her prowess spans her expertise in network security, security audit and scripting-based-automation. Actively involved in web security since 2017, Evelyn has worked with various technologies to secure the web, leveraging tech like Nginx, modsecurity, reverse-proxies, developing web-application-firewalls, on-the-fly asset optimization using Google’s PageSpeed Module and more. Her expertise is reflected in the top-tier plugins and comprehensive consulting-services she offers in the domain of web-security.