So it turns out WordPress has a CLI! I’m not sure how this had passed me by but I’m really pleased I’ve found it. WordPress installation is famously easy but automation is always a good thing. Installation is really straightforward so I won’t repeat the instructions here. Here are some of the commands which caught my eye:
Installing a New WordPress Site
These commands will install the latest version of wordpress in the current directory.
# Download the Latest Version
wp core download --locale=en_GB
# Set the config values for the database
wp config create
--dbname=example-db
--dbuser=db-user
--dbpass="somepass"
--dbhost="localhost"
# Install
wp core install
--url=example.com
--title=Example
--admin_user=supervisor
--admin_password=strongpassword
[email protected]
Installing Plugins
First you need to find the plugin. You can do that using the search.
wp plugin search <search_term>
So to search for the word “classic” I ran:
wp plugin search classic
Success: Showing 3 of 955 plugins.
+-------------------+--------------------+--------+
| name | slug | rating |
+-------------------+--------------------+--------+
| Classic Editor | classic-editor | 100 |
| TinyMCE Advanced | tinymce-advanced | 92 |
| Disable Gutenberg | disable-gutenberg | 100 |
+-------------------+--------------------+--------+
Then to install one (and activate) just use the slug given in the search results:
wp plugin install classic-editor --activate
User Management
You can create new users. If no password is specified then one is generated for you.
wp user create bob [email protected] --role=editor
Success: Created user 2.
Password: 2DCGMaYzA3f3^#%o&X(sJNR8
If you add –send-email it will send the user an email containing their username and password.
Conclusion
I’m so pleased I found this tool. By combining this will other cli tools I can orchestrate server creation, database creation and now wordpress site installation. Expect more write-ups soon!