A few years ago, I started a wp-cli-buddypress project. I occasionally added commands that were useful to me personally, but didn’t pretend to have anything close to complete coverage. A few months ago, Renato Alves (@espellcaste) contacted me to see whether he could help flesh out some of the missing commands. We moved the repo to the official BuddyPress GitHub account https://github.com/buddypress/wp-cli-buddypress, opened a BP ticket to track the potential integration of the commands into BP itself https://buddypress.trac.wordpress.org/ticket/7604, and got to work.
Since that time, Renato and I have done extensive work to bring basic CLI commands to all the main components of BuddyPress. Specifically, we have CRUD commands for all major content types, as well as a few helpful utility methods. The list of supported commands is too long to list here – you can explore by typing <code>wp bp</code> and digging down through the tree – but here’s a very brief summary:
activity– CRUD commands, comment management, favorite management, spam/unspam
core– Component activation and deactivation
group– CRUD commands, member listing and management, invitation management
member– bulk generation
signup– CRUD commands, activation, resending
tool– commands for running any BP repair tool
xprofile– CRUD commands for groups, fields, and user data
While there’s more to build – and refinements to be made – we’re at a point where we need real-world testing and feedback. If you are a BP developer, or administer BP-powered sites, and if you use WP-CLI, please install wp-cli-buddypress today and start using it.
There are numerous ways to install a wp-cli package, but because this one is in development, we encourage you to get a repo checkout. Something like:
$ git clone https://github.com/buddypress/wp-cli-buddypress ~/.wp-cli/commands
and then add the path to
wp-cli-buddypress/wp-cli-bp.php to the
commands subsection of your wp-cli config file https://make.wordpress.org/cli/handbook/config/#config-files.
Questions to consider while using the commands:
- Are the commands named in a way that makes sense? Note that in some cases, commands have aliases (eg
wp bp group createand
wp bp group add).
- Think about argument patterns across the commands, and whether they are consistent and make sense. Some commands take certain positional arguments (
wp bp group get my-group) while others require named arguments (
wp bp xprofile data get --user-id=5 --field-id=10)
- What major features are missing?
For specific issues, you’re encouraged to open a GitHub ticket: https://github.com/buddypress/wp-cli-buddypress/issues. For high-level discussions, you can open a GitHub ticket, leave a comment here, or drop into the #buddypress channel on wordpress.org Slack.
And for the truly intrepid: Contributions are encouraged! We’ve worked hard to ensure 100% Behat test coverage, which makes writing new commands fun.