Hitchhiker's guide


Arūnas Liuiza

WordPress Core Contributor, WordPress Kaunas Meetup co-organizer, WordCamp (Lithuania, Riga, Stockholm, Jyväskylä, Oslo, Norrköping) speaker and one of the editors of the Lithuanian WordPress translation team.


Free & premium WordPress plugin developer


Software Engineer at

For Developers

deployer.seravo.com - a service that syncs WordPress plugins from GitHub to WordPress.org automatically.

TryoutWP.com - a service to spin up live temporary demo sites for WordPress plugins and themes.

The Answer to Life, the Universe
and Everything?

Any sufficiently advanced technology is indistinguishable from magic

- Arthur C. Clarke,1973

/whois WP-CLI

The official command line tool for interacting with and managing your WordPress sites.


Yup, the Terminal.


Official website: https://wp-cli.org/


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

The Basics

Anatomy of a Command

wp plugin update akismet --version=1.0.0
wp command action input --parameter=value


Global Parameters

--path=            a path to s WordPress directory

--url=               url of the site

--user=            set user






wp plugin <action>

wp plugin install tinycoffee


wp plugin activate tinycoffee


wp plugin update tinycoffee --version=0.1.0



wp theme <action>

wp theme install twentyseventeen


wp theme install twentyseventeen


wp theme update twentyseventeen --version=0.1.0



wp user <action>

wp user list


wp user create bob bob@example.com --role=author


wp user update 123 --display_name=Mary --user_pass=marypass


wp ... anything

wp config

wp core

wp cache

wp comment

wp cron

wp db

wp export

wp import

wp media

wp menu

wp network

wp option

wp package

wp post

wp post-type

wp profile

wp rewrite

wp role

wp server

wp sidebar

wp search-replace

wp site

wp super-admin

wp taxonomy

wp term

wp transient

wp widget


Common tasks

Update WordPress

wp core update


wp core update-db


wp core update-db --network

Install WordPress

wp core download --locale=lt_LT

wp config create --dbname=testing --dbuser=wp


wp core install --url=example.com --title=Example
--admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com


wp export


wp import example.wordpress.2018-08-10.xml


wp db export backup.sql


wp db import backup.sql

Search & Replace

wp search-replace olddomain.com newdomain.com 'wp_post*'


  • works with serialised data
  • can do regular expressions
  • might be a little... slow :)


wp db search - another option


Build Your Own Commands

if ( class_exists( 'WP_CLI' ) ) {
  WP_CLI::add_command( 'hello', 'arunas_cli_hello' );
function arunas_cli_hello( $args, $options ) {
  WP_CLI::success( 'Hello, World!' );


Hitchhiker's guide to WP-CLI

By Arūnas Liuiza

Hitchhiker's guide to WP-CLI

WordCamp Nordic 2019

  • 2,286