Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wp cli


Published on

Published in: Technology
  • Be the first to comment

Wp cli

  1. 1. LazyPressDeveloping for WordPress onthe Command Line
  2. 2. Why CLI?• All Keyboard Commands• Efficient• Fast• Does Not Require the Web Serverresources
  3. 3. Installing WP-CLI> curl | bash> PATH=$HOME/.composer/bin:$PATH> source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash
  4. 4. 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
  5. 5. Extending WP-CLI• if( defined( ‘WP_CLI’ ) && WP_CLI )• ExtendWP_CLI_Command• Public methods become commands• Methods take $args and $assoc_args
  6. 6. Extending WP-CLI• $args is an array of positional elements• e.g. wp command Hello World• $args[0] == ‘Hello’• $args[1] == ‘World’
  7. 7. 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’
  8. 8. Declaring Syntax• Methods should have a Docblock using@synopsis• Square brackets designate optional• @synopsis cmd <foo> --bar=<bar> [--baz=<baz>]
  9. 9. Printing to the CLI• Use the line() method from the WP_CLIclass• WP_CLI::line(‘Hello World is a Success!’);
  10. 10. Defining the Command• Use the add_command() method from theWP_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 worldclass
  11. 11. Resources• WP-CLI -• WP-CLI on Github -• Sample Code -• BreweryDB -• This Presentation: