Got a lot of exciting news regarding wp-cli WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/, so let’s get right into it:
The Reach
Besides Dreamhost, it’s used and recommended by the WordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ VIP team to all their clients.
Oh, and it’s also used in a Juju Charm for deploying WordPress in the cloud. 😀
The --require
An interesting but easily overlooked feature is the new --require
global parameter. Say you wrote a custom command called chores
for yourself:
WP_CLI::add_command( 'chores', 'My_Chores' );
class My_Chores extends WP_CLI_Command {
function do_laundry() {
...
}
function wash_dishes() {
...
}
}
Now, where do you put this code, so that WP-CLI can reach it? You could put it in a plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, but if you have multiple WP installations, you’d have to install that plugin on each one. You could put it inside one of the WP-CLI directories, but that creates problems when you want to update. Here’s what you could do instead:
wp --require=/path/to/chores.php chores do_laundry
The --require
parameter will load that PHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php. file at just the right time for the command to work as you’d expect.
The Manual
The help system has been improved. When you do wp help core config
, an actual man page will show up, with details about each parameter:
Unfortunately, this doesn’t work if you install WP-CLI via the PEAR package, because PEAR doesn’t know how to handle them. 🙁
The Changelog
Commands:
- added
wp post
and wp post-meta
- added
wp user-meta
- added
wp blog create
- added
wp export
- added
wp theme install
and wp theme update
- added
wp transient
- added
wp db optimize
and wp db repair
- added
wp db create
, wp db drop
and wp db reset
- added
wp db import
- added
wp core install_network
- added
wp core update_db
- added
--json
option to several subcommands
- added
--network
option to wp plugin activate
- fixed
wp plugin update
Internals:
- fixed “out of memory” error
- misc bugfixes and optimizations
You can also browse the full list of resolved issues.
The Community
Most of the new commands you see in this release were actually implemented by other people.
Here are all the people that have contributed to this release: andreascreten, dwightjack, getsource, johnpbloch, joshstoik1, kidfiction, marcoceppi, mgburns, mwilliamson, roelven, scribu, soulou, tollmanz.
The Future
The first thing I want to tackle next is revamping the install process. I’m also thinking of ditching PEAR entirely; it’s just too limited: no man pages, no command auto-complete etc.
Beyond that, there are a lot of gaps to fill: wp import
, wp blog update
, wp attachment
anyone?
You must be logged in to post a comment.