Date post: | 10-May-2015 |
Category: |
Technology |
Upload: | aaron-brazell |
View: | 236 times |
Download: | 0 times |
LazyPressDeveloping for WordPress
on the Command Line
Why CLI?
•All Keyboard Commands
•Efficient
•Fast
•Does Not Require the Web Server resources
Installing WP-CLI
> curl http://wp-cli.org/installer.sh | bash
> PATH=$HOME/.composer/bin:$PATH
> source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash
Using the wp command
•wp core (config|download|install|update)
•wp comment (approve|count|spam|trash)
•wp export
•wp option (add|update|delete|get)
•wp plugin (install|activate|list|update)
•Etc
Extending WP-CLI
•if( defined( ‘WP_CLI’ ) && WP_CLI )
•Extend WP_CLI_Command
•Public methods become commands
•Methods take $args and $assoc_args
Extending WP-CLI
•$args is an array of positional elements
•e.g. wp command Hello World
•$args[0] == ‘Hello’
•$args[1] == ‘World’
Extending WP-CLI
•$assoc_args is an array of flags
•e.g. wp command --foo=Hello --bar=World
•$assoc_args[‘foo’] == ‘Hello’
•$assoc_args[‘bar’] == ‘World’
Declaring Syntax
•Methods should have a Docblock using @synopsis
•Square brackets designate optional
•@synopsis cmd <foo> --bar=<bar> [--baz=<baz>]
Printing to the CLI
•Use the line() method from the WP_CLI class
•WP_CLI::line(‘Hello World is a Success!’);
Defining the Command
•Use the add_command() method from the WP_CLI class
•Argument 1 is the command name
•Argument 2 is the Class name
•WP_CLI::add_command( ‘hello’, ‘world’);
•Running wp hello instantiates the world class
Resources
•WP-CLI - http://wp-cli.org
•WP-CLI on Github - http://github.com/wp-cli
•Sample Code - https://github.com/technosailor/baltimorephp-wpcli
•BreweryDB - http://brewerydb.com
Credits•“Boh” photo by Sidewalk Flying on
Flickr
•“Crab” and “Aquarium” photos by WallyG on Flickr
•“Oriole Bird” photo by Keith Allison on Flickr
•All photos used under the Creative Commons License