Hello,
My name is Cristi Burcă.
The Internet calls me scribu.
I work on/with WordPress.
Command Line Learnings
For Make Benefit
Glorious Nation of WordPress
WordCamp Norway 2013
Command Line Interface?
Haven't those gone extinct since the 90's?!
What is WP-CLI?
What is WP-CLI good for?
Automation
Task: Set up a cron script that periodically updates everything.
#!/bin/bash cd /path/to/wp/install wp db export /tmp/backup.sql wp core update wp theme update --all wp plugin update --all
Integration
Task: Access data in a WP install from a Python script.
import subprocess def get_wp_option(key): command = ["wp", "option", "get", key] proc = subprocess.Popen(command, stdout=subprocess.PIPE) out, err = proc.communicate() return out.strip("\n") print get_wp_option("home")
Long running jobs
Task: Regenerate all thumbnails on a site.
foreach
loop
Interactive debugging
Task: Fool around.
$ wp shell Type "exit" to close session. wp> get_bloginfo('description') 'Just another WordPress site' wp> strrev($_) 'etis sserPdroW rehtona tsuJ' wp>
Great success!
Code generation
Task: Create a plugin that registers a custom post type and a taxonomy.
wp scaffold plugin wcnorge wp scaffold post-type slides --plugin=wcnorge wp scaffold taxonomy slide_cat --post_types=slides --plugin=wcnorge
What about X?
WP-CLI is extensible; it will look for commands defined inside WordPress plugins or themes.
All you have to do is make sure WP-CLI is running:
if ( defined( 'WP_CLI' ) && WP_CLI ) {
require __DIR__ . '/my-cli-command.php';
}
More info:
github.com/wp-cli/wp-cli/wiki/Creating-Commands
How did WP-CLI get started?
If you can not able do it from command line, is not worth do it.
Thanks!