WP-CLI: Save Time by Managing WordPress from the Command Line

WP-CLI: Save Time by Managing WordPress from the Command Line

Slides from the Introduction to WP-CLI talk that I've given at WordCamps and Meetups. For my blog posts about WP-CLI, see https://www.shawnhooper.ca/tag/wp-cli/


Shawn Hooper

August 14, 2017


  1. 1.

    WP-CLI: Save Time by Managing WordPress from the Command Line

    Shawn Hooper
 Director of IT, Actionable @shawnhooper - shawnhooper.ca
  2. 2.

    •I’m Shawn Hooper, a web application developer from Ottawa. •I’ve

    been working in WordPress since 2009. •I love the working from the command prompt, reminds me of my days running a BBS (in the Hi! @shawnhooper - shawnhooper.ca
  3. 4.

    •A set of command line tools that allows you to

    manage WordPress from the command line.
 •http://www.wp-cli.org/ What is WP-CLI ? @shawnhooper - shawnhooper.ca
  4. 7.

    •http://www.wp-cli.org/ •Requires PHP 5.3.29 or later •Requires WordPress 3.7 or

    later •A “UNIX-like” environment: •OSX (Macintosh) •Linux •Cygwin (Windows) What do you need? @shawnhooper - shawnhooper.ca
  5. 8.

    •You need to have SSH access to use WP-CLI. Some

    shared hosting packages do not allow SSH access •SiteGround, Pantheon, BlueHost, GoDaddy, CloudAccess and more now have CLI support. •VPS services like Digital Ocean and Linode are ideal. Hosts @shawnhooper - shawnhooper.ca
  6. 9.

    •Download it:
 curl -O https:// raw.githubusercontent.com/wp-cli/ builds/gh-pages/phar/wp-cli.phar
 • Set permissions:

 chmod +x wp-cli.phar
 • Move it somewhere useful:
 sudo mv wp-cli.phar /usr/local/bin/ wp 
 Installing WP-CLI @shawnhooper - shawnhooper.ca
  7. 15.

    <param> — required [—param] — optional flag [—param=<value>] — optional

    w/ value Running Commands: @shawnhooper - shawnhooper.ca
  8. 16.

    •Check current WordPress version, or see if there are updates

    available. •Do the update! •Install a brand new site •Convert an existing site to Multisite! •Verify core checksums core @shawnhooper - shawnhooper.ca
  9. 17.

    •Let’s try setting up a brand new site on a

    development server using:
 wp core download
 wp core config
 wp db create
 wp core install --prompt core @shawnhooper - shawnhooper.ca
  10. 18.

    •Install, Delete Plugins •Activate & Deactivate Plugins •Update Plugins •Search

    the repository for plugins plugin @shawnhooper - shawnhooper.ca
  11. 19.

    •Time savers!
 wp plugin update — all

    plugin deactivate — all plugin @shawnhooper - shawnhooper.ca
  12. 20.

    The “db” command interacts with the MySQL database. wp db

    export backup.sql
 wp db import backup.sql
 wp db cli db @shawnhooper - shawnhooper.ca
  13. 21.

    • Safe Search & Replace, including serialized arrays!
 • Supports

    --dry-run search-replace @shawnhooper - shawnhooper.ca
  14. 23.

    Create Posts with Random Content using Any Ipsum Plugin wp

    plugin install any-ipsum —activate
 wp any-ipsum generate-posts 100 post @shawnhooper - shawnhooper.ca
  15. 26.

    … or a child theme wp scaffold child-theme mychild —

    parent_theme=twentyfourte en scaffold @shawnhooper - shawnhooper.ca
  16. 27.

    … or a custom post type wp scaffold post-type mycpt

    —theme scaffold @shawnhooper - shawnhooper.ca
  17. 28.

    Download & Activate a Theme from WordPress.org wp theme install

    simone — activate theme @shawnhooper - shawnhooper.ca
  18. 31.

    Executes PHP code
 * after loading the WordPress Core *

    eval & eval-file @shawnhooper - shawnhooper.ca
  19. 32.

    wp role create wp role list wp role exists new:

    —clone flag on create role & cap @shawnhooper - shawnhooper.ca