WP-CLI Presentation from WordCamp NYC 2015
-
Upload
shawn-hooper -
Category
Technology
-
view
721 -
download
2
Transcript of WP-CLI Presentation from WordCamp NYC 2015
![Page 1: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/1.jpg)
WP-CLI: Save Time by Managing WordPress
from the Command Line
WordCamp NYC 2015 Designers Track !
Shawn HooperChief Technology Officer, Actionable Books
@shawnhooper - shawnhooper.ca
![Page 2: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/2.jpg)
• 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 days before the Internet)
Hi!
@shawnhooper - shawnhooper.ca
![Page 4: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/4.jpg)
• 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
![Page 5: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/5.jpg)
• Anyone really, but mostly:
• Developers
• Theme Designers
• Server Administrators
Who is this for?
@shawnhooper - shawnhooper.ca
![Page 7: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/7.jpg)
• http://www.wp-cli.org/
• Requires PHP 5.3.2 or later
• Requires WordPress 3.5.2 or later
• A “UNIX-like” environment:
• OSX (Macintosh)
• Linux
• Cygwin (Windows)
What do you need?
@shawnhooper - shawnhooper.ca
![Page 8: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/8.jpg)
• You need to have SSH access to use WP-CLI. Some shared hosting packages do not allow SSH access
• PlanetHoster, SiteGround, Pantheon, BlueHost, GoDaddy, Media Temple, Windows Azure and more now have CLI support.
• VPS services like Digital Ocean and Linode, InterServer are ideal.
Hosts
@shawnhooper - shawnhooper.ca
![Page 9: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/9.jpg)
• 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
![Page 14: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/14.jpg)
wp <command> <sub-command> <params>
Running Commands:
@shawnhooper - shawnhooper.ca
![Page 15: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/15.jpg)
<param> — required
[—param] — optional flag
[—param=<value>] — optional w/ value
Running Commands:
@shawnhooper - shawnhooper.ca
![Page 16: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/16.jpg)
• 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
![Page 17: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/17.jpg)
• 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
![Page 18: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/18.jpg)
• Install, Delete Plugins
• Activate & Deactivate Plugins
• Update Plugins
• Search the repository for plugins
plugin
@shawnhooper - shawnhooper.ca
![Page 19: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/19.jpg)
• Time savers! wp plugin update — all wp plugin deactivate — all
plugin
@shawnhooper - shawnhooper.ca
![Page 20: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/20.jpg)
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
![Page 21: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/21.jpg)
• Safe Search & Replace, including serialized arrays!
• Supports --dry-run
search-replace
@shawnhooper - shawnhooper.ca
![Page 22: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/22.jpg)
Generate Test Content !
wp post generate --count=500
post
@shawnhooper - shawnhooper.ca
![Page 23: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/23.jpg)
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
![Page 24: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/24.jpg)
Regenerate Thumbnails
!
wp media regenerate —yes
media
@shawnhooper - shawnhooper.ca
![Page 25: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/25.jpg)
Start an underscores theme!
!
wp scaffold _s mytheme
scaffold
@shawnhooper - shawnhooper.ca
![Page 26: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/26.jpg)
… or a child theme
!
wp scaffold child-theme mychild —parent_theme=twentyfourteen
scaffold
@shawnhooper - shawnhooper.ca
![Page 27: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/27.jpg)
… or a custom post type
!
wp scaffold post-type mycpt —theme
scaffold
@shawnhooper - shawnhooper.ca
![Page 28: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/28.jpg)
Download & Activate a Theme from WordPress.org
!
wp theme install simone —activate
theme
@shawnhooper - shawnhooper.ca
![Page 29: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/29.jpg)
wp user generate
wp user import-csv
Create Users
@shawnhooper - shawnhooper.ca
![Page 30: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/30.jpg)
wp term list
wp term create
wp term generate
Taxonomies
@shawnhooper - shawnhooper.ca
![Page 31: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/31.jpg)
Executes PHP code * after loading the WordPress Core *
eval & eval-file
@shawnhooper - shawnhooper.ca
![Page 32: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/32.jpg)
wp role create
wp role list
wp role exists
!
new: —clone flag on create
role & cap
@shawnhooper - shawnhooper.ca
![Page 33: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/33.jpg)
Launches PHP’s Built-in Web Server
!
wp server
server
@shawnhooper - shawnhooper.ca
![Page 34: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/34.jpg)
Add any functionality you want that isn’t already included in the
WP-CLI core.
https://github.com/wp-cli/wp-cli/wiki/List-of-community-commands
Community Commands
@shawnhooper - shawnhooper.ca
![Page 35: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/35.jpg)
You can either write them as a plugin, or include it using the
—require parameter on the command line.
Community Commands
@shawnhooper - shawnhooper.ca
![Page 36: WP-CLI Presentation from WordCamp NYC 2015](https://reader031.fdocuments.in/reader031/viewer/2022021502/58ecfb841a28ab48668b466f/html5/thumbnails/36.jpg)
Thank you! Slides: www.shawnhooper.ca
E-Mail: [email protected]
Twitter: @shawnhooper
WordPress Slack: shooper
@shawnhooper - shawnhooper.ca