Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WP-CLI: Save Time by Managing WordPress from th...

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
Tweet

More Decks by Shawn Hooper

Other Decks in Technology

Transcript

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

    Shawn Hooper
 Director of IT, Actionable @shawnhooper - shawnhooper.ca
  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. •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. •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. •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. •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. <param> — required [—param] — optional flag [—param=<value>] — optional

    w/ value Running Commands: @shawnhooper - shawnhooper.ca
  8. •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. •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. •Install, Delete Plugins •Activate & Deactivate Plugins •Update Plugins •Search

    the repository for plugins plugin @shawnhooper - shawnhooper.ca
  11. •Time savers!
 
 wp plugin update — all
 
 wp

    plugin deactivate — all plugin @shawnhooper - shawnhooper.ca
  12. 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. • Safe Search & Replace, including serialized arrays!
 • Supports

    --dry-run search-replace @shawnhooper - shawnhooper.ca
  14. 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. … or a child theme wp scaffold child-theme mychild —

    parent_theme=twentyfourte en scaffold @shawnhooper - shawnhooper.ca
  16. … or a custom post type wp scaffold post-type mycpt

    —theme scaffold @shawnhooper - shawnhooper.ca
  17. Download & Activate a Theme from WordPress.org wp theme install

    simone — activate theme @shawnhooper - shawnhooper.ca
  18. Executes PHP code
 * after loading the WordPress Core *

    eval & eval-file @shawnhooper - shawnhooper.ca
  19. wp role create wp role list wp role exists new:

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