aaemnnosttv/wp-cli-valet-command
White-glove services for turn-key installs in seconds., (*1)
, (*2)
Quick links: Using | Installing | Troubleshooting | Support | Contributing, (*3)
Using
This package implements the following commands:, (*4)
wp valet new
Create a new WordPress install -- fast, (*5)
wp valet new <name> [--project=<project>] [--in=<dir>] [--version=<version>] [--locale=<locale>] [--db=<db>] [--dbname=<dbname>] [--dbuser=<dbuser>] [--dbpass=<dbpass>] [--dbhost=<dbhost>] [--dbprefix=<dbprefix>] [--admin_user=<username>] [--admin_password=<password>] [--admin_email=<email>] [--unsecure] [--portable]
This command will spin up a new WordPress installation -- complete with database and https
ready-to-use in your browser faster than you can put your pants on., (*6)
NB If you have not used valet park
for the directory or parent directory you are
running the installation in you need to do a valet link
to make sure the site will run
without running into 404s., (*7)
OPTIONS, (*8)
<name>
Site domain name without TLD. This will become the directory name of the project root.
Eg: To create an install for example.dev, `wp valet new example`
[--project=<project>]
The WordPress project to install. Choose from any project supported by Laravel Valet.
---
default: wp
options:
- wp
- bedrock
---
[--in=<dir>]
Specify the path to the parent directory to create the install in.
Defaults to the current working directory.
[--version=<version>]
WordPress version to install.
---
default: latest
---
[--locale=<locale>]
Select which language you want to install.
[--db=<db>]
Database driver to provision the site with.
---
default: mysql
options:
- mysql
- sqlite
---
[--dbname=<dbname>]
Database name (MySQL only).
Defaults to 'wp_<name>'.
[--dbuser=<dbuser>]
Database User (MySQL only).
---
default: root
---
[--dbpass=<dbpass>]
Set the database user password (MySQL only).
---
Default: ''
---
[--dbhost=<dbhost>]
Set the database host.
---
default: localhost
---
[--dbprefix=<dbprefix>]
Set the database table prefix.
---
default: 'wp_'
---
[--admin_user=<username>]
The username to create for the WordPress admin user.
---
default: admin
---
[--admin_password=<password>]
The password to create for the WordPress admin user.
---
default: admin
---
[--admin_email=<email>]
The email to use for the WordPress admin user.
[--unsecure]
Provision the site for http rather than https.
[--portable]
Provision the site to be portable. Implies --unsecure and --db=sqlite.
wp valet destroy
Completely remove an installation., (*9)
wp valet destroy <name> [--yes]
This will drop the database, and delete all of the files as well as
remove any self-signed TLS certificate that was generated for serving
this install over https., (*10)
OPTIONS, (*11)
<name>
Site domain name without TLD. It should match the directory name of the project root.
[--yes]
Pre-approve the confirmation to delete all files and drop the database.
Installing
This command leverages Laravel Valet -- an open source development environment for Mac + *nix minimalists., (*12)
It runs various commands lightning fast, allowing you to spin up a site in your browser immediately after creating it, without any other configuration, all from a single command., (*13)
You should also understand how Valet works, especially the portion on Serving Sites., (*14)
Environment Setup
0) MacOS users should install Homebrew first., (*15)
1) Follow the Valet installation instructions on the Laravel documentation to get started., (*16)
Note: Linux users should use Valet-linux instead, a fork of the original project that shares most of the same valet
commands powering this wp-cli
plugin., (*17)
2) Confirm your wp-cli
environment works and meets the minimum version specified below by running wp cli info
and proceed if the output looks something like:, (*18)
PHP binary: /usr/bin/php7.0
PHP version: 7.0.22-0ubuntu0.16.04.1
php.ini used: /etc/php/7.0/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/user/wp-cli-valet-command
WP-CLI packages dir: /home/user/.wp-cli/packages/
WP-CLI global config: /home/user/.wp-cli/config.yml
WP-CLI project config:
WP-CLI version: 1.4.1
Update, if needed, to the latest stable release with wp cli update
., (*19)
Loading the wp-cli-valet-command package
Installing this package requires WP-CLI v1 || v2 or greater. Update to the latest stable release with wp cli update
., (*20)
Once you've done so, you can install the latest stable version of this package with:, (*21)
wp package install aaemnnosttv/wp-cli-valet-command:@stable
To install the latest development version of this package, use the following command instead:, (*22)
wp package install aaemnnosttv/wp-cli-valet-command:dev-master
Troubleshooting
Error: ERROR 1045 (28000): Access denied for user 'root'@'localhost'
The installer halts at the database creation stage because it doesn't have a password for your local MySQL
instance., (*23)
Prevent this from happening by appending your wp valet
commands like such: wp valet new site --dbpass=local_root_password
., (*24)
At this point, you can:
1) Either create a wp-config.php
file manually,
2) use wp config
command to have wp-cli create one for you, or
3) use wp valet destroy site
and try running your wp valet new
command again, this time using the --dbpass
attribute., (*25)
Configuring Alternate Defaults
As with other wp-cli
commands, you can set default attributes when running wp valet
., (*26)
Simply add the appropriate details in ~/.wp-cli/config.yml
:, (*27)
valet new:
## Uncomment or update the relevant lines when necessary to set your own defaults.
project: wp # or bedrock
# in: # override - defaults to current directory
version: latest
# locale: # use if not English
db: mysql # or sqlite
# dbname: # defaults to wp_name
dbuser: root # or any other local user capable of creating databases (MySQL only)
# dbpass: # enter the appropriate password if necessary (MySQL only)
dbprefix: wp_
admin_user: admin
admin_password: admin
## Boolean options can also be configured, too.
# unsecure: false # set to true to override
# portable: false # set to true to override
The wp valet new
defaults are shown here as an example for clarity., (*28)
One simple usage for the config.yml
could look like, (*29)
valet new:
dbuser: root # or any db creating user
dbpass: password # set yours here
to enable wp valet new site
to spin up a full, live, running local WordPress site in ~3 seconds without any additional parameters., (*30)
Support
GitHub issues aren't for general support questions, but there are other venues you can try: https://wp-cli.org/#support, (*31)
Contributing
We appreciate you taking the initiative to contribute to this project., (*32)
Contributing isnât limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation., (*33)
For a more thorough introduction, check out WP-CLI's guide to contributing. This package follows those policy and guidelines., (*34)
Reporting a bug
Think youâve found a bug? Weâd love for you to help us get it fixed., (*35)
Before you create a new issue, you should search existing issues to see if thereâs an existing resolution to it, or if itâs already been fixed in a newer version., (*36)
Once youâve done a bit of searching and discovered there isnât an open or fixed issue for your bug, please create a new issue. Include as much detail as you can, and clear steps to reproduce if possible. For more guidance, review our bug report documentation., (*37)
Creating a pull request
Want to contribute a new feature? Please first open a new issue to discuss whether the feature is a good fit for the project., (*38)
Once you've decided to commit the time to seeing your pull request through, please follow our guidelines for creating a pull request to make sure it's a pleasant experience. See "Setting up" for details specific to working on this package locally., (*39)
This README.md is generated dynamically from the project's codebase using wp scaffold package-readme
(doc). To suggest changes, please submit a pull request against the corresponding part of the codebase., (*40)