diff --git a/src/wp-admin/css/common.css b/src/wp-admin/css/common.css index d1e154641e..33dda07075 100644 --- a/src/wp-admin/css/common.css +++ b/src/wp-admin/css/common.css @@ -344,7 +344,7 @@ h3 { } .update-core-php h2 { - margin-top: 2em; + margin-top: 4em; } .update-php h2, diff --git a/src/wp-admin/includes/class-core-upgrader.php b/src/wp-admin/includes/class-core-upgrader.php index fc6390aa18..28e2855053 100644 --- a/src/wp-admin/includes/class-core-upgrader.php +++ b/src/wp-admin/includes/class-core-upgrader.php @@ -48,14 +48,14 @@ class Core_Upgrader extends WP_Upgrader { * * @param object $current Response object for whether WordPress is current. * @param array $args { - * Optional. Arguments for upgrading WordPress core. Default empty array. + * Optional. Arguments for upgrading WordPress core. Default empty array. * - * @type bool $pre_check_md5 Whether to check the file checksums before - * attempting the upgrade. Default true. - * @type bool $attempt_rollback Whether to attempt to rollback the chances if - * there is a problem. Default false. - * @type bool $do_rollback Whether to perform this "upgrade" as a rollback. - * Default false. + * @type bool $pre_check_md5 Whether to check the file checksums before + * attempting the upgrade. Default true. + * @type bool $attempt_rollback Whether to attempt to rollback the chances if + * there is a problem. Default false. + * @type bool $do_rollback Whether to perform this "upgrade" as a rollback. + * Default false. * } * @return string|false|WP_Error New WordPress version on success, false or WP_Error on failure. */ @@ -279,9 +279,9 @@ class Core_Upgrader extends WP_Upgrader { $current_is_development_version = (bool) strpos( $wp_version, '-' ); // Defaults: - $upgrade_dev = true; - $upgrade_minor = true; - $upgrade_major = false; + $upgrade_dev = get_site_option( 'auto_update_core_dev', true ); + $upgrade_minor = get_site_option( 'auto_update_core_minor', true ); + $upgrade_major = get_site_option( 'auto_update_core_major', false ); // WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'minor', false. if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) { diff --git a/src/wp-admin/update-core.php b/src/wp-admin/update-core.php index fcae12eaa0..4a1ac8e8bd 100644 --- a/src/wp-admin/update-core.php +++ b/src/wp-admin/update-core.php @@ -300,6 +300,91 @@ function core_upgrade_preamble() { dismissed_updates(); } +/** + * Display WordPress auto-updates settings. + * + * @since 5.6.0 + */ +function core_auto_updates_settings() { + $upgrade_major_value = ''; + if ( isset( $_POST['core-auto-updates-settings'] ) && wp_verify_nonce( $_POST['set_core_auto_updates_settings'], 'core-auto-updates-nonce' ) ) { + if ( isset( $_POST['core-auto-updates-major'] ) && 1 === (int) $_POST['core-auto-updates-major'] ) { + update_site_option( 'auto_update_core_major', 1 ); + } else { + update_site_option( 'auto_update_core_major', 0 ); + } + echo '

'; + _e( 'WordPress auto-updates settings updated.' ); + echo '

'; + } + + $upgrade_dev = get_site_option( 'auto_update_core_dev', true ); + $upgrade_minor = get_site_option( 'auto_update_core_minor', true ); + $upgrade_major = get_site_option( 'auto_update_core_major', false ); + + if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) { + if ( false === WP_AUTO_UPDATE_CORE ) { + // Defaults to turned off, unless a filter allows it. + $upgrade_dev = false; + $upgrade_minor = false; + $upgrade_major = false; + } elseif ( true === WP_AUTO_UPDATE_CORE ) { + // ALL updates for core. + $upgrade_dev = true; + $upgrade_minor = true; + $upgrade_major = true; + } elseif ( 'minor' === WP_AUTO_UPDATE_CORE ) { + // Only minor updates for core. + $upgrade_dev = false; + $upgrade_minor = true; + $upgrade_major = false; + } + } + + $upgrade_dev = apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev ); + $upgrade_minor = apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor ); + $upgrade_major = apply_filters( 'allow_major_auto_core_updates', $upgrade_major ); + + $auto_update_settings = array( + 'dev' => $upgrade_dev, + 'minor' => $upgrade_minor, + 'major' => $upgrade_major, + ); + ?> +
+ +

+

+ version ) && version_compare( $updates[0]->version, $wp_version, '>' ) ) { + echo wp_get_auto_update_message(); + } + } + ?> +

+

+ /> + +

+ +

+ +

+