I’m pleased to present the first release of 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/ in 2014, coincidentally called 0.14.0. Let’s get right into it.
Automatically detect WordPress in a subdirectory
Having WordPress in a subdirectory is a great way keep your code repository clean.
Until now, you had to explicitly tell WP-CLI how to find it, either by using the --path=
parameter, or by creating a wp-cli.yml
file in the root directory. With version 0.14, it will find it automatically.
To make this not-common-enough scenario work, we had to once again call upon the dark powers of eval()
.
Protection against running as root
If you try to run a WP-CLI command as the superuser, WP-CLI will refuse to run. In production environemnts, most of the commands should actually be run under the same user as the web server. But, in general, running commands as root is a bad idea.
For example, if you run wp media regenerate
as root
, then the newly created thumbnail files will naturally be owned by root
. If the web server is running under the www-data
user, it won’t be able to change these files (unless they’re globally writable, which is less secure). So, the correct command would be sudo -u www-data wp media regenerate
.
If you trigger this protection, you will also receive instructions about how to disable it.
--skip-plugins
global flag
Ever used WP-CLI to install 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 that broke WP-CLI? Well, now there’s a 100% sure way to deactivate it: wp --skip-plugins plugin deactivate naughty-plugin
.
You can also skip only particular plugins: wp --skip-plugins=admin-blocker,complex-beast
.
Breaking changes
wp term create
, wp term update
, wp term get
and wp term delete
now accept the taxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. as the first parameter, just like all the other term subcommands
Other changes
- added
wp post url
, wp comment url
and wp site url
subcommands
- added
wp theme enable
and wp theme disable
subcommands for multisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network. installs
- added
wp term generate
subcommand
- added
--recurse-objects
flag to wp search-replace
- added
--locale
flag to wp core update
wp core download
now caches WordPress archives
- all
wp user
subcommands now accept user emails as parameters (besides IDs and usernames)
wp option
and wp *-meta
subcommands can now read values from STDIN
wp import
now accepts multiple files
wp db export
now accepts all parameters that mysqldump
accepts
wp export
now uses a better backend developed by Nikolay Bachiyski (see #525)
- plugin slugs passed to
wp plugin
subcommands are now always case-sensitive
- fixed JetPack activation
- fixed
wp core is-installed
for multisite
- fixed
--max_depth
parameter for wp post generate
- fixed
--role
parameter for wp user generate
- fixed issue where
wp user import-csv
would pick up previous user IDs
- fixed issue with progress bar calling
tput
too often
- execution is now aborted if too many positional parameters are passed or if an unknown associative parameter is passed
You can browse the full list of resolved issues on Github GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.
Contributors to this release: bartaakos, boonebgorges, danielbachhuber, eliorivero, francescolaffi, itsananderson, Japh, jmslbam, johnbillion, mboynes, mgburns, nb, rodrigoprimo, scribu, sibprogrammer, simonwheatley, SpikesDivZero, westonruter, ziz