What the survey said, 2015 edition

Many thanks to the 206 (!!!) people who took our second user survey. We appreciate your time in helping us to understand how WP-CLIWP-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/ is being adopted by the community.

Curious as to how the numbers have changed? Take a look at the summary of the first user survey from April 2014.

By the numbers

85% of respondents use WP-CLI regularly

Of this 85%, 48% use WP-CLI multiple times per day. 37% use it a couple or few times per week. Only 15% of respondents use WP-CLI infrequently or rarely.

94% of respondents use WP-CLI interactively at the command line, 66% have incorporated it into bash scripts, and 23% are using WP-CLI with Puppet, Chef, or another provisioning system. Other tools mentioned include: Capistrano, Codeception, EasyEngine, Fabric, Grunt, and SaltStack.

Most users keep WP-CLI up to date

Over 70% of respondents keep WP-CLI up to date. Here’s how the numbers break down:

  • 13% run the latest alpha. You can too with wp cli update --nightly.
  • 58% use the latest stable release (v0.20.x at time of survey).
  • 24% are using one or two versions below the latest stable. Only 5% use a very old version of WP-CLI.

Good news — if you’re writing custom commands, you can reasonably assume it’s safe to use the latest features in WP-CLI.

WP-CLI is used for an increasing variety of tasks

Like last year, the survey included “What do you use WP-CLI for?” as a free-form field. To produce a statistical summary, I tagged each response with keywords. Of 170 interpreted values:

  • 38% (65) use WP-CLI for updating WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., themes, or plugins.
  • 22% (38) transform their database in some way using wp search-replace.
  • 17% (29) rely upon WP-CLI when performing migrations.
  • 15% (26) make use of WP-CLI’s database management features: wp db export, wp db import and wp db optimize.
  • 11% (18) depend upon WP-CLI in provisioning scripts.
  • 10% (17) scaffold new themes and plugins with wp scaffold.
  • 9% (16) write custom commands for their own needs.
  • 6% (10) generate mock posts, users and comments.
  • 3% (5) are hearty souls who use wp shell, wp eval, and wp eval-file for debugging and quick scripts.

In no particular order, here are some third-party commands and workflows mentioned: Jetpack CLI, WP Parser, ElasticPress, WP Migrate DB Pro, WP CFM, BackWPUp, wp-cli-ssh, wp-instant-setup, project-template-wordpress, and provisioning a new WordPress.org Theme Review environment.

One person said they use WP-CLI to make coffee. On behalf of everyone, I look forward to the day I can install this command from the package directory.

Feature requests

Feel like contributing to WP-CLI over the holidays? Here’s a grab bag of enhancements you could work on:

  • Better documentation (internals, extending, common workflows).
  • One single uber-command to install WordPress, including downloading files, creating the MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. database, setting up wp-config.php, and populating database tables.
  • Suggest correct syntax when a command is incorrectly entered (e.g. git staus).
  • Improved support for managing multiple networks: wp network list, wp network create.
  • Install plugins favorited by a given WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ user.
  • Verify theme and pluginPlugin 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 checksums.
  • Report when extra files are present in wp-admin or wp-includes (e.g. checksums of directories)
  • Save a template of a WordPress setup (similar to grunt {my-task}).
  • Disable all plugins except for a specific one. Or, load WP-CLI with only a given plugin active.
  • Install WordPress nightly builds without needing the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. plugin.
  • Provide a command to execute WP-Cron without requiring a HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. request.
  • Define custom scaffolds for themes and plugins.
  • Generate posts, pages from a sitemap CSV.
  • Magically migrate data between environments (production -> staging).
  • Add option to exclude specific tables in wp search-replace.
  • Provide a way to log in with a one-time link.

If you can’t find an existing Github issue, please create one and we can begin discussing implementation.

Thanks again to everyone who took the time to complete our user survey! May WP-CLI continue to be a shining light for your WordPress development needs.