• Stars
    star
    286
  • Rank 144,690 (Top 3 %)
  • Language
    PHP
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Harness the power of Laravel Valet for creating fully functional WordPress installs in seconds.

aaemnnosttv/wp-cli-valet-command

White-glove services for turn-key installs in seconds.

Travis Build Packagist

Quick links: Using | Installing | Troubleshooting | Support | Contributing

Using

This package implements the following commands:

wp valet new

Create a new WordPress install -- fast

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.

OPTIONS

<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.

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.

OPTIONS

<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.

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.

You should also understand how Valet works, especially the portion on Serving Sites.

Environment Setup

  1. MacOS users should install Homebrew first.

  2. Follow the Valet installation instructions on the Laravel documentation to get started.

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.

  1. 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:
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.

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.

Once you've done so, you can install the latest stable version of this package with:

wp package install aaemnnosttv/wp-cli-valet-command:@stable

To install the latest development version of this package, use the following command instead:

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.

Prevent this from happening by appending your wp valet commands like such: wp valet new site --dbpass=local_root_password.

At this point, you can:

  1. Either create a wp-config.php file manually,
  2. use wp configcommand 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.

Configuring Alternate Defaults

As with other wp-cli commands, you can set default attributes when running wp valet.

Simply add the appropriate details in ~/.wp-cli/config.yml:

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.

One simple usage for the config.yml could look like

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.

Support

GitHub issues aren't for general support questions, but there are other venues you can try: https://wp-cli.org/#support

Contributing

We appreciate you taking the initiative to contribute to this project.

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.

For a more thorough introduction, check out WP-CLI's guide to contributing. This package follows those policy and guidelines.

Reporting a bug

Think you’ve found a bug? We’d love for you to help us get it fixed.

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.

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.

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.

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.

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.

More Repositories

1

wp-sqlite-db

A single file drop-in for using a SQLite database with WordPress. Based on the original SQLite Integration plugin.
PHP
491
star
2

wp-cli-login-command

Log in to WordPress with secure passwordless magic links.
PHP
268
star
3

wp-cli-dotenv-command

Interact with a .env file from the command line.
PHP
168
star
4

silk

A modern API for WordPress.
PHP
67
star
5

valet-dashboard

A simple dashboard for Laravel Valet to display all available sites.
PHP
22
star
6

version-assets

A WordPress plugin to automatically apply a content-based version on all of your assets to optimize browser caching.
PHP
15
star
7

wp-plugin-activation-manifest

PHP
11
star
8

wp-sqlite-integration

PHP
10
star
9

silk-docs

Silk Documentation. For API docs, see here: https://api.silk.aaemnnost.tv/master/
9
star
10

wordpress-tests-core

This project is deprecated. See WP PHPUnit! ->>>>
PHP
9
star
11

boiler

A WordPress plugin boilerplate
Shell
7
star
12

last-modified-timestamp

A WordPress plugin for making the last modified date/time more accessible.
PHP
6
star
13

wp-cli-media-generate-command

A WP-CLI Command for generating media items and importing them into the media library.
PHP
5
star
14

quick-tab-switcher

Browser extension for switching tabs in a flash, without leaving the keyboard.
JavaScript
5
star
15

purity

A conflict-free utility library.
PHP
5
star
16

bedrock-valet-driver

Laravel Valet Driver for the Roots Bedrock WordPress application project boilerplate
PHP
4
star
17

pagelines

PageLines Framework 2.X made updateable with https://github.com/afragen/github-updater
PHP
4
star
18

wp-cli-http-command

WP-CLI command for using the WordPress HTTP API
PHP
4
star
19

wpenv

Environment-specific control for WordPress installs
PHP
4
star
20

wp-cli-login-server

[READ ONLY] Subtree split of wp-cli-login-command server plugin. (See aaemnnosttv/wp-cli-login-command)
PHP
4
star
21

post-link-shortcodes

A collection of shortcodes for building links, images, or URLs to a given post/archive of any type.
PHP
3
star
22

html5-analytics

Dead-simple Google Analytics event tracking using HTML5 data attributes
JavaScript
2
star
23

gskbuild

Shell
2
star
24

War.php

A high-performance engine for playing the card game of War.
PHP
2
star
25

bedrock-mailtrap

A Mailtrap plugin for Roots Bedrock.
PHP
2
star
26

silk-plugin

Silk: The WordPress plugin.
PHP
1
star
27

webgloss

A toy glossary app, using Laravel, Vue.js, and Bootstrap 4
PHP
1
star
28

pagelines-developer

A plugin for pagelines developers developers developers
CSS
1
star
29

wp-env-auto-privacy

A WordPress plugin for (trying to) ensure that non-production sites are not indexed by search engines.
PHP
1
star
30

deprecated-hooks

PHP
1
star
31

shortcode-alias-api

A WordPress plugin for providing an API to create powerful shortcode aliases.
PHP
1
star
32

nag-squelcher

Shush with the nagging!
PHP
1
star
33

docker-sage-build

A docker container for running the Roots Sage theme build.
1
star