wp theme upgrade

Updates one or more themes.

In this article

This is an alias for wp theme update.
Note: The following options are not part of a stable WP-CLI release yet: --auto-update-indicated, --include-vcs. To use them now, switch to the nightly build with wp cli update --nightly. If you installed the command as a separate package, updating that package may be enough.
Options added later: --minor (2.10.0), --patch (2.10.0), --insecure (2.5.0).

Options

See the argument syntax reference for a detailed explanation of the syntax conventions used.
[<theme>…]
One or more themes to update.
[–all]
If set, all themes that have updates will be updated.
[–exclude=<theme-names>]
Comma separated list of theme names that should be excluded from updating.
[–minor]
Only perform updates for minor releases (e.g. from 1.3 to 1.4 instead of 2.0)
[–patch]
Only perform updates for patch releases (e.g. from 1.3 to 1.3.3 instead of 1.4)
[–format=<format>]
Render output in a particular format. — default: table options: – table – csv – json – summary —
[–version=<version>]
If set, the theme will be updated to the specified version.
[–dry-run]
Preview which themes would be updated.
[–insecure]
Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
[–auto-update-indicated]
Only update themes where the server response indicates an automatic update. Updates to the version indicated by the server, not necessarily the latest version. Cannot be used with --version, --minor, or --patch.
[–include-vcs]
Include themes that are version-controlled with a VCS (e.g. git, svn, hg). Skipped by default.

Examples

# Update multiple themes
$ wp theme update twentyfifteen twentysixteen
Downloading update from https://downloads.wordpress.org/theme/twentyfifteen.1.5.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the theme...
Theme updated successfully.
Downloading update from https://downloads.wordpress.org/theme/twentysixteen.1.2.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the theme...
Theme updated successfully.
+---------------+-------------+-------------+---------+
| name          | old_version | new_version | status  |
+---------------+-------------+-------------+---------+
| twentyfifteen | 1.4         | 1.5         | Updated |
| twentysixteen | 1.1         | 1.2         | Updated |
+---------------+-------------+-------------+---------+
Success: Updated 2 of 2 themes.

# Exclude themes updates when bulk updating the themes
$ wp theme update --all --exclude=twentyfifteen
Downloading update from https://downloads.wordpress.org/theme/astra.1.0.5.1.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the theme...
Theme updated successfully.
Downloading update from https://downloads.wordpress.org/theme/twentyseventeen.1.2.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the theme...
Theme updated successfully.
+-----------------+----------+---------+----------------+
| name            | status   | version | update_version |
+-----------------+----------+---------+----------------+
| astra           | inactive | 1.0.1   | 1.0.5.1        |
| twentyseventeen | inactive | 1.1     | 1.2            |
+-----------------+----------+---------+----------------+
Success: Updated 2 of 2 themes.

# Update all themes
$ wp theme update --all

Global Parameters

These global parameters have the same behavior across all commands and affect how WP-CLI interacts with WordPress.
Argument Description
--path=<path> Path to the WordPress files.
--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified.
--ssh=[<scheme>:][<user>@]<host\|container>[:<port>][<path>] Perform operation against a remote server over SSH (or a container using scheme of “docker”, “docker-compose”, “docker-compose-run”, “vagrant”).
--ssh-args=<args> Pass additional arguments to SSH (or other tools specified by –ssh scheme).
--http=<http> Perform operation against a remote WordPress installation over HTTP.
--user=<id\|login\|email> Set the WordPress user.
--skip-plugins[=<plugins>] Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded.
--skip-themes[=<themes>] Skip loading all themes, or a comma-separated list of themes.
--skip-packages Skip loading all installed packages.
--require=<path> Load PHP file before running the command (may be used more than once).
--exec=<php-code> Execute PHP code before running the command (may be used more than once).
--context=<context> Load WordPress in a given context.
--[no-]color Whether to colorize the output.
--debug[=<group>] Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help.
--prompt[=<assoc>] Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values.
--quiet Suppress informational messages.
--alias=<name> Name of the alias to use. Aliases can reference local WordPress installations or remote SSH connections. Aliases are defined in the wp-cli.yml file.
--assume-https Set $_SERVER[‘HTTPS’] to make WordPress treat the site as HTTPS. Use when WordPress is behind an HTTPS proxy or load balancer.

Command documentation is regenerated at every release. To add or update an example, please submit a pull request against the corresponding part of the codebase.