How can I use the WP-CLI in my WordPress Workflow?

September 12, 2017

If you have been in the WordPress community for any length of time, you surely have heard of the WP-CLI. If you have not heard of the WP-CLI, it is essentially a set of command line tools that allow you to interact with your WordPress site quickly and efficiently from terminal instead of using the WordPress admin dashboard. Without practical examples of when to use the WP-CLI, you may be thinking that the CLI is just a good idea in theory, but you wouldn’t lean towards using it right away in your next project. I’m going to share with you some of the essential WP-CLI commands that will save you time and energy.

Installing the WP-CLI

To install the WP-CLI, you will need to first SSH into your server. Once you are SSH’d in, run:

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

This will pull the latest release of the WP-CLI into current directory. Next, you will need to give the WP-CLI the correct permissions. Do this by running:

chmod +x wp-cli.phar

Note: If you using VVV for a local WordPress environment, you do not need to install the WP-CLI. Instead, you would vagrant ssh then you will have the command line tools available to you.

Basic WP-CLI commands

Here are some basic commands that will let you ease your way into using the WP-CLI in your workflow:

Check which version of WordPress you have by running:

wp core version

Find out which themes are installed and active by running:

wp theme list

Or alternatively check which plugins are installed and active or are needing updates by running:

wp plugin list

Only want to know what your inactive plugins are?

wp plugin list --status=inactive

That is great to know what plugins you have that are inactive, but what if you want to delete inactive plugins?

wp plugin delete

Let’s update all of our plugins:

wp plugin update --all

Let’s try generating 5 posts:

wp post generate --count=5

You can also generate 3 custom post types:

wp post generate --post_type=movies --count=3

A little bit more advanced

Want to create a new WordPress project with a specific url, title, and create a unique admin user from the command line?

wp core install --url="your_domain" --title="Blog Title" --admin_user="admin username" --admin_password="enter_your_password" --admin_email="enter_your_email"

Do a search and replace throughout your entire site:

wp search-replace 'http://example.dev' 'http://example.com' --all-tables

How about doing a search and replace and then exporting that into a new sql file, that way we don’t change our current database:

wp search-replace 'http://example.dev' 'http://example.com' --all-tables --export=newsqlfile.sql

Tired of having to go in to the WordPress Admin dashboard to save permalinks? Just run this:

wp rewrite flush

But wait, there’s more

The WP-CLI is a very robust tool that can help your workflow tremendously! There are unlimited options as to what you can do. This was just a quick overview of some of the commands, for a more thorough list of the commands you can run with the WP-CLI, go to the WordPress CLI Commands Doc.

Stay in Touch!

Subscribe to our newsletter.

Solutions Architecture

browse through our blog articles

Blog Archive