2.8 KiB
WP-CLI: WordPress Command Line Tools
What is wp-cli
A tool to control WordPress installations from the command line.
Installing
Via package manager:
- Ubuntu, Debian: .deb package
- Mac: install Homebrew and run
brew install wp-cli
.
From source:
First, make sure you have php-cli
version 5.3 or newer installed.
Clone the project:
git clone --recurse-submodules https://github.com/andreascreten/wp-cli.git
Make a symlink to the executable:
sudo ln -s /path-to-wp-cli-dir/src/bin/wp /usr/local/bin/
Make a symlink to the autocomplete file (Linux):
sudo ln -s /path-to-wp-cli-dir/src/bin/wp-completion.bash /etc/bash_completion.d/wp
Usage
Go into a WordPress root folder:
cd /var/www/wp/
Typing wp help
should show you an output similar to this:
Example usage:
wp google-sitemap [build|help] ...
wp core [update|help] ...
wp home [help] ...
wp option [add|update|delete|get|help] ...
wp plugin [status|activate|deactivate|install|delete|update|help] ...
wp theme [status|details|activate|help] ...
So this tells us which commands are installed: eg. google-sitemap, core, home, ... Between brackets you can see their sub commands.
Let's for example try to install the hello dolly plugin from wordpress.org:
wp plugin install hello-dolly
Output:
Installing Hello Dolly (1.5)
Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
Unpacking the package ...
Installing the plugin ...
Success: The plugin is successfully installed
Multisite
On a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on:
wp theme status --blog=localhost/wp/test
If you have a subdomain installation, it would look like this:
wp theme status --blog=test.example.com
If you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir:
echo 'test.example.com' > wp-cli-blog
Then, you can call wp
without the --blog parameter again:
wp theme status
Adding commands
Adding commands to wp-cli is very easy. You can even add them from within your own plugin. You can find more information about adding commands in the Commands Cookbook on our Wiki.
Please share the commands you make, issue a pull request to get them included in wp-cli by default.