Core_Command::update PHP Method

update() public method

Defaults to updating WordPress to the latest version. ## OPTIONS [] : 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=] : Update to a specific version, instead of to the latest version. [--force] : Update even when installed WP version is greater than the requested version. [--locale=] : Select which language you want to download. ## 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 cleaned up Success: WordPress updated successfully. # Update WordPress to latest version of 3.8 release $ wp core update --version=3.8 ../latest.zip Updating to version 3.8 ()... Unpacking the update... Cleaning up files... File removed: wp-admin/js/tags-box.js ... File removed: wp-admin/js/updates.min. 377 files cleaned up 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: Failed to fetch checksums. Please cleanup files manually. Success: WordPress updated successfully.
public update ( $args, $assoc_args )
    function update($args, $assoc_args)
    {
        global $wp_version;
        $update = $from_api = null;
        $upgrader = 'WP_CLI\\CoreUpgrader';
        if (!empty($args[0])) {
            $upgrader = 'WP_CLI\\NonDestructiveCoreUpgrader';
            $version = \WP_CLI\Utils\get_flag_value($assoc_args, 'version');
            $update = (object) array('response' => 'upgrade', 'current' => $version, 'download' => $args[0], 'packages' => (object) array('partial' => null, 'new_bundled' => null, 'no_content' => null, 'full' => $args[0]), 'version' => $version, 'locale' => null);
        } else {
            if (empty($assoc_args['version'])) {
                wp_version_check();
                $from_api = get_site_transient('update_core');
                if (\WP_CLI\Utils\get_flag_value($assoc_args, 'minor')) {
                    foreach ($from_api->updates as $offer) {
                        $sem_ver = Utils\get_named_sem_ver($offer->version, $wp_version);
                        if (!$sem_ver || 'patch' !== $sem_ver) {
                            continue;
                        }
                        $update = $offer;
                        break;
                    }
                    if (empty($update)) {
                        WP_CLI::success('WordPress is at the latest minor release.');
                        return;
                    }
                } else {
                    if (!empty($from_api->updates)) {
                        list($update) = $from_api->updates;
                    }
                }
            } else {
                if (\WP_CLI\Utils\wp_version_compare($assoc_args['version'], '<') || \WP_CLI\Utils\get_flag_value($assoc_args, 'force')) {
                    $version = $assoc_args['version'];
                    $locale = \WP_CLI\Utils\get_flag_value($assoc_args, 'locale', get_locale());
                    $new_package = $this->get_download_url($version, $locale);
                    $update = (object) array('response' => 'upgrade', 'current' => $assoc_args['version'], 'download' => $new_package, 'packages' => (object) array('partial' => null, 'new_bundled' => null, 'no_content' => null, 'full' => $new_package), 'version' => $version, 'locale' => $locale);
                }
            }
        }
        if (!empty($update) && ($update->version != $wp_version || \WP_CLI\Utils\get_flag_value($assoc_args, 'force'))) {
            require_once ABSPATH . 'wp-admin/includes/upgrade.php';
            if ($update->version) {
                WP_CLI::log("Updating to version {$update->version} ({$update->locale})...");
            } else {
                WP_CLI::log("Starting update...");
            }
            $from_version = $wp_version;
            $GLOBALS['wp_cli_update_obj'] = $update;
            $result = Utils\get_upgrader($upgrader)->upgrade($update);
            unset($GLOBALS['wp_cli_update_obj']);
            if (is_wp_error($result)) {
                $msg = WP_CLI::error_to_string($result);
                if ('up_to_date' != $result->get_error_code()) {
                    WP_CLI::error($msg);
                } else {
                    WP_CLI::success($msg);
                }
            } else {
                if (file_exists(ABSPATH . 'wp-includes/version.php')) {
                    include ABSPATH . 'wp-includes/version.php';
                    $to_version = $wp_version;
                }
                $locale = \WP_CLI\Utils\get_flag_value($assoc_args, 'locale', get_locale());
                $this->cleanup_extra_files($from_version, $to_version, $locale);
                WP_CLI::success('WordPress updated successfully.');
            }
        } else {
            WP_CLI::success('WordPress is up to date.');
        }
    }