wp core

Downloads, installs, updates, and manages a WordPress installation.

Subcommands

Command Description
wp core check-update Checks for WordPress updates via Version Check API.
wp core download Downloads core WordPress files.
wp core install Runs the standard WordPress installation process.
wp core is-installed Checks if WordPress is installed.
wp core multisite-convert Transforms an existing single-site installation into a multisite installation.
wp core multisite-install Installs WordPress multisite from scratch.
wp core update Updates WordPress to a newer version.
wp core update-db Runs the WordPress database update procedure.
wp core verify-checksums Verifies WordPress files against WordPress.org’s checksums.
wp core version Displays the WordPress version.

Examples

# Download WordPress core
$ wp core download --locale=nl_NL
Downloading WordPress 4.5.2 (nl_NL)...
md5 hash verified: c5366d05b521831dd0b29dfc386e56a5
Success: WordPress downloaded.

# Install WordPress
$ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword [email protected]
Success: WordPress installed successfully.

# Display the WordPress version
$ wp core version
4.5.2

wp core check-update

Checks for WordPress updates via Version Check API.

Lists the most recent versions when there are updates available, or success message when up to date.

Synopsis

wp core check-update [--minor] [--major] [--force-check] [--field=<field>] [--fields=<fields>] [--format=<format>]

Parameters

Parameter Description
[--minor] Compare only the first two parts of the version number.
[--major] Compare only the first part of the version number.
[--force-check] Bypass the transient cache and force a fresh update check.
[--field=<field>] Prints the value of a single field for each update.
[--fields=<fields>] Limit the output to specific object fields. Defaults to version,update_type,package_url.
[--format=<format>] Render output in a particular format. Default: table. Options: table, csv, count, json, yaml

Examples

$ wp core check-update
+---------+-------------+-------------------------------------------------------------+
| version | update_type | package_url                                                 |
+---------+-------------+-------------------------------------------------------------+
| 4.5.2   | major       | https://downloads.wordpress.org/release/wordpress-4.5.2.zip |
+---------+-------------+-------------------------------------------------------------+

wp core download

Downloads core WordPress files.

Downloads and extracts WordPress core files to the specified path. Uses current directory when no path is specified. Downloaded build is verified to have the correct md5 and then cached to the local filesystem.

Synopsis

wp core download [<download-url>] [--path=<path>] [--locale=<locale>] [--version=<version>] [--skip-content] [--force] [--insecure] [--extract]

Parameters

Parameter Description
[<download-url>] Download directly from a provided URL instead of fetching the URL from the wordpress.org servers.
[--path=<path>] Specify the path in which to install WordPress. Defaults to current directory.
[--locale=<locale>] Select which language you want to download.
[--version=<version>] Select which version you want to download. Accepts a version number, ‘latest’ or ‘nightly’.
[--skip-content] Download WP without the default themes and plugins.
[--force] Overwrites existing files, if present.
[--insecure] Retry download without certificate validation if TLS handshake fails.
[--extract] Whether to extract the downloaded file. Defaults to true.

Examples

$ wp core download --locale=nl_NL
Downloading WordPress 4.5.2 (nl_NL)...
md5 hash verified: c5366d05b521831dd0b29dfc386e56a5
Success: WordPress downloaded.

wp core install

Runs the standard WordPress installation process.

Creates the WordPress tables in the database using the URL, title, and default admin user details provided. Performs the famous 5 minute install in seconds or less.

Note: if you’ve installed WordPress in a subdirectory, then you’ll need to wp option update siteurl after wp core install.

Synopsis

wp core install --url=<url> --title=<site-title> --admin_user=<username> [--admin_password=<password>] --admin_email=<email> [--locale=<locale>] [--skip-email]

Parameters

Parameter Description
--url=<url> The address of the new site.
--title=<site-title> The title of the new site.
--admin_user=<username> The name of the admin user.
[--admin_password=<password>] The password for the admin user. Defaults to randomly generated string.
--admin_email=<email> The email address for the admin user.
[--locale=<locale>] The locale/language for the installation (e.g. de_DE). Default is en_US.
[--skip-email] Don’t send an email notification to the new admin user.

Examples

# Install WordPress in 5 seconds
$ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword [email protected]
Success: WordPress installed successfully.

# Install WordPress without disclosing admin_password to bash history
$ wp core install --url=example.com --title=Example --admin_user=supervisor [email protected] --prompt=admin_password < admin_password.txt

wp core is-installed

Checks if WordPress is installed.

Determines whether WordPress is installed by checking if the standard database tables are installed. Doesn’t produce output; uses exit codes to communicate whether WordPress is installed.

Synopsis

wp core is-installed [--network]

Parameters

Parameter Description
[--network] Check if this is a multisite installation.

Examples

# Bash script for checking if WordPress is not installed.
if ! wp core is-installed 2>/dev/null; then
    wp core install
fi

# Bash script for checking if WordPress is installed, with fallback.
if wp core is-installed 2>/dev/null; then
    wp core verify-checksums
else
    echo 'WordPress is not installed.'
fi

wp core multisite-convert

Transforms an existing single-site installation into a multisite installation.

Creates the multisite database tables, and adds the multisite constants to wp-config.php.

For those using WordPress with Apache, remember to update the .htaccess file with the appropriate multisite rewrite rules.

Synopsis

wp core multisite-convert [--title=<network-title>] [--base=<url-path>] [--subdomains] [--skip-config]

Parameters

Parameter Description
[--title=<network-title>] The title of the new network.
[--base=<url-path>] Base path after the domain name that each site url will start with. Default: /
[--subdomains] If passed, the network will use subdomains, instead of subdirectories. Doesn’t work with ‘localhost’.
[--skip-config] Don’t add multisite constants to wp-config.php.

Examples

$ wp core multisite-convert
Set up multisite database tables.
Added multisite constants to wp-config.php.
Success: Network installed. Don't forget to set up rewrite rules.

wp core multisite-install

Installs WordPress multisite from scratch.

Creates the WordPress tables in the database using the URL, title, and default admin user details provided. Then, creates the multisite tables in the database and adds multisite constants to the wp-config.php.

Synopsis

wp core multisite-install [--url=<url>] [--base=<url-path>] [--subdomains] --title=<site-title> --admin_user=<username> [--admin_password=<password>] --admin_email=<email> [--skip-email] [--skip-config]

Parameters

Parameter Description
[--url=<url>] The address of the new site.
[--base=<url-path>] Base path after the domain name that each site url in the network will start with. Default: /
[--subdomains] If passed, the network will use subdomains, instead of subdirectories. Doesn’t work with ‘localhost’.
--title=<site-title> The title of the new site.
--admin_user=<username> The name of the admin user. Default: admin
[--admin_password=<password>] The password for the admin user. Defaults to randomly generated string.
--admin_email=<email> The email address for the admin user.
[--skip-email] Don’t send an email notification to the new admin user.
[--skip-config] Don’t add multisite constants to wp-config.php.

Examples

$ wp core multisite-install --title="Welcome to the WordPress" 
> --admin_user="admin" --admin_password="password" 
> --admin_email="[email protected]"
Single site database tables already present.
Set up multisite database tables.
Added multisite constants to wp-config.php.
Success: Network installed. Don't forget to set up rewrite rules.

wp core update

Updates WordPress to a newer version.

Defaults to updating WordPress to the latest version.

If you see "Error: Another update is currently in progress.", you may need to run wp option delete core_updater.lock after verifying another update isn’t actually running.

Synopsis

wp core update [<zip>] [--minor] [--version=<version>] [--force] [--locale=<locale>] [--insecure]

Parameters

Parameter Description
[<zip>] Path to zip file to use, instead of downloading from wordpress.org.
[--minor] Only perform updates for minor releases (e.g. update from WP 4.3 to 4.3.3 instead of 4.4.2).
[--version=<version>] Update to a specific version, instead of to the latest version. Alternatively accepts ‘nightly’.
[--force] Update even when installed WP version is greater than the requested version.
[--locale=<locale>] Select which language you want to download.
[--insecure] Retry download without certificate validation if TLS handshake fails.

Examples

# Update WordPress
$ wp core update
Updating to version 4.5.2 (en_US)...
Downloading update from https://downloads.wordpress.org/release/wordpress-4.5.2-no-content.zip...
Unpacking the update...
Cleaning up files...
No files found that need cleaning up
Success: WordPress updated successfully.

# Update WordPress using zip file.
$ wp core update ../latest.zip
Starting update...
Unpacking the update...
Success: WordPress updated successfully.

# Update WordPress to 3.1 forcefully
$ wp core update --version=3.1 --force
Updating to version 3.1 (en_US)...
Downloading update from https://wordpress.org/wordpress-3.1.zip...
Unpacking the update...
Warning: Checksums not available for WordPress 3.1/en_US. Please cleanup files manually.
Success: WordPress updated successfully.

wp core update-db

Runs the WordPress database update procedure.

Synopsis

wp core update-db [--network] [--dry-run]

Parameters

Parameter Description
[--network] Update databases for all sites on a network.
[--dry-run] Compare database versions without performing the update.

Examples

# Update the WordPress database.
$ wp core update-db
Success: WordPress database upgraded successfully from db version 36686 to 35700.

# Update databases for all sites on a network.
$ wp core update-db --network
WordPress database upgraded successfully from db version 35700 to 29630 on example.com/
Success: WordPress database upgraded on 123/123 sites.

wp core verify-checksums

Verifies WordPress files against WordPress.org’s checksums.

Downloads md5 checksums for the current version from WordPress.org, and compares those checksums against the currently installed files.

For security, avoids loading WordPress when verifying checksums.

Synopsis

wp core verify-checksums [--include-root] [--version=<version>] [--locale=<locale>] [--insecure] [--exclude=<files>]

Parameters

Parameter Description
[--include-root] Verify all files and folders in the root directory, and warn if any non-WordPress items are found.
[--version=<version>] Verify checksums against a specific version of WordPress.
[--locale=<locale>] Verify checksums against a specific locale of WordPress.
[--insecure] Retry downloads without certificate validation if TLS handshake fails.
[--exclude=<files>] Exclude specific files from the checksum verification. Provide a comma-separated list of file paths.

Examples

# Verify checksums
$ wp core verify-checksums
Success: WordPress installation verifies against checksums.

# Verify checksums for given WordPress version
$ wp core verify-checksums --version=4.0
Success: WordPress installation verifies against checksums.

# Verify checksums for given locale
$ wp core verify-checksums --locale=en_US
Success: WordPress installation verifies against checksums.

# Verify checksums and exclude files
$ wp core verify-checksums --exclude="readme.html"
Success: WordPress installation verifies against checksums.

wp core version

Displays the WordPress version.

Synopsis

wp core version [--extra]

Parameters

Parameter Description
[--extra] Show extended version information.

Examples

# Display the WordPress version
$ wp core version
4.5.2

# Display WordPress version along with other information
$ wp core version --extra
WordPress version: 4.5.2
Database revision: 36686
TinyMCE version:   4.310 (4310-20160418)
Package language:  en_US