do_core_upgrade

函式
do_core_upgrade ( $reinstall = false )
引數
  • (bool) $reinstall
    Required:
    Default: false
定義位置
相關方法
find_core_updatecore_upgrade_preambledismiss_core_updatedo_dismiss_core_updatelist_core_update
引入
2.7.0
棄用
-

do_core_upgrade:這個鉤子用來把WordPress升級到最新版本。

升級WordPress核心顯示。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function do_core_upgrade( $reinstall = false ) {
global $wp_filesystem;
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
if ( $reinstall ) {
$url = 'update-core.php?action=do-core-reinstall';
} else {
$url = 'update-core.php?action=do-core-upgrade';
}
$url = wp_nonce_url( $url, 'upgrade-core' );
$version = isset( $_POST['version'] ) ? $_POST['version'] : false;
$locale = isset( $_POST['locale'] ) ? $_POST['locale'] : 'en_US';
$update = find_core_update( $version, $locale );
if ( ! $update ) {
return;
}
// Allow relaxed file ownership writes for User-initiated upgrades when the API specifies
// that it's safe to do so. This only happens when there are no new files to create.
$allow_relaxed_file_ownership = ! $reinstall && isset( $update->new_files ) && ! $update->new_files;
?>
<div class="wrap">
<h1><?php _e( 'Update WordPress' ); ?></h1>
<?php
$credentials = request_filesystem_credentials( $url, '', false, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership );
if ( false === $credentials ) {
echo '</div>';
return;
}
if ( ! WP_Filesystem( $credentials, ABSPATH, $allow_relaxed_file_ownership ) ) {
// Failed to connect. Error and request again.
request_filesystem_credentials( $url, '', true, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership );
echo '</div>';
return;
}
if ( $wp_filesystem->errors->has_errors() ) {
foreach ( $wp_filesystem->errors->get_error_messages() as $message ) {
show_message( $message );
}
echo '</div>';
return;
}
if ( $reinstall ) {
$update->response = 'reinstall';
}
add_filter( 'update_feedback', 'show_message' );
$upgrader = new Core_Upgrader();
$result = $upgrader->upgrade(
$update,
array(
'allow_relaxed_file_ownership' => $allow_relaxed_file_ownership,
)
);
if ( is_wp_error( $result ) ) {
show_message( $result );
if ( 'up_to_date' !== $result->get_error_code() && 'locked' !== $result->get_error_code() ) {
show_message( __( 'Installation failed.' ) );
}
echo '</div>';
return;
}
show_message( __( 'WordPress updated successfully.' ) );
show_message(
'<span class="hide-if-no-js">' . sprintf(
/* translators: 1: WordPress version, 2: URL to About screen. */
__( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%2$s">here</a>.' ),
$result,
esc_url( self_admin_url( 'about.php?updated' ) )
) . '</span>'
);
show_message(
'<span class="hide-if-js">' . sprintf(
/* translators: 1: WordPress version, 2: URL to About screen. */
__( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ),
$result,
esc_url( self_admin_url( 'about.php?updated' ) )
) . '</span>'
);
?>
</div>
<script type="text/javascript">
window.location = '<?php echo esc_url( self_admin_url( 'about.php?updated' ) ); ?>';
</script>
<?php
}
function do_core_upgrade( $reinstall = false ) { global $wp_filesystem; require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; if ( $reinstall ) { $url = 'update-core.php?action=do-core-reinstall'; } else { $url = 'update-core.php?action=do-core-upgrade'; } $url = wp_nonce_url( $url, 'upgrade-core' ); $version = isset( $_POST['version'] ) ? $_POST['version'] : false; $locale = isset( $_POST['locale'] ) ? $_POST['locale'] : 'en_US'; $update = find_core_update( $version, $locale ); if ( ! $update ) { return; } // Allow relaxed file ownership writes for User-initiated upgrades when the API specifies // that it's safe to do so. This only happens when there are no new files to create. $allow_relaxed_file_ownership = ! $reinstall && isset( $update->new_files ) && ! $update->new_files; ?> <div class="wrap"> <h1><?php _e( 'Update WordPress' ); ?></h1> <?php $credentials = request_filesystem_credentials( $url, '', false, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership ); if ( false === $credentials ) { echo '</div>'; return; } if ( ! WP_Filesystem( $credentials, ABSPATH, $allow_relaxed_file_ownership ) ) { // Failed to connect. Error and request again. request_filesystem_credentials( $url, '', true, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership ); echo '</div>'; return; } if ( $wp_filesystem->errors->has_errors() ) { foreach ( $wp_filesystem->errors->get_error_messages() as $message ) { show_message( $message ); } echo '</div>'; return; } if ( $reinstall ) { $update->response = 'reinstall'; } add_filter( 'update_feedback', 'show_message' ); $upgrader = new Core_Upgrader(); $result = $upgrader->upgrade( $update, array( 'allow_relaxed_file_ownership' => $allow_relaxed_file_ownership, ) ); if ( is_wp_error( $result ) ) { show_message( $result ); if ( 'up_to_date' !== $result->get_error_code() && 'locked' !== $result->get_error_code() ) { show_message( __( 'Installation failed.' ) ); } echo '</div>'; return; } show_message( __( 'WordPress updated successfully.' ) ); show_message( '<span class="hide-if-no-js">' . sprintf( /* translators: 1: WordPress version, 2: URL to About screen. */ __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%2$s">here</a>.' ), $result, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '</span>' ); show_message( '<span class="hide-if-js">' . sprintf( /* translators: 1: WordPress version, 2: URL to About screen. */ __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $result, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '</span>' ); ?> </div> <script type="text/javascript"> window.location = '<?php echo esc_url( self_admin_url( 'about.php?updated' ) ); ?>'; </script> <?php }
function do_core_upgrade( $reinstall = false ) {
	global $wp_filesystem;

	require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';

	if ( $reinstall ) {
		$url = 'update-core.php?action=do-core-reinstall';
	} else {
		$url = 'update-core.php?action=do-core-upgrade';
	}
	$url = wp_nonce_url( $url, 'upgrade-core' );

	$version = isset( $_POST['version'] ) ? $_POST['version'] : false;
	$locale  = isset( $_POST['locale'] ) ? $_POST['locale'] : 'en_US';
	$update  = find_core_update( $version, $locale );
	if ( ! $update ) {
		return;
	}

	// Allow relaxed file ownership writes for User-initiated upgrades when the API specifies
	// that it's safe to do so. This only happens when there are no new files to create.
	$allow_relaxed_file_ownership = ! $reinstall && isset( $update->new_files ) && ! $update->new_files;

	?>
	<div class="wrap">
	<h1><?php _e( 'Update WordPress' ); ?></h1>
	<?php

	$credentials = request_filesystem_credentials( $url, '', false, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership );
	if ( false === $credentials ) {
		echo '</div>';
		return;
	}

	if ( ! WP_Filesystem( $credentials, ABSPATH, $allow_relaxed_file_ownership ) ) {
		// Failed to connect. Error and request again.
		request_filesystem_credentials( $url, '', true, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership );
		echo '</div>';
		return;
	}

	if ( $wp_filesystem->errors->has_errors() ) {
		foreach ( $wp_filesystem->errors->get_error_messages() as $message ) {
			show_message( $message );
		}
		echo '</div>';
		return;
	}

	if ( $reinstall ) {
		$update->response = 'reinstall';
	}

	add_filter( 'update_feedback', 'show_message' );

	$upgrader = new Core_Upgrader();
	$result   = $upgrader->upgrade(
		$update,
		array(
			'allow_relaxed_file_ownership' => $allow_relaxed_file_ownership,
		)
	);

	if ( is_wp_error( $result ) ) {
		show_message( $result );
		if ( 'up_to_date' !== $result->get_error_code() && 'locked' !== $result->get_error_code() ) {
			show_message( __( 'Installation failed.' ) );
		}
		echo '</div>';
		return;
	}

	show_message( __( 'WordPress updated successfully.' ) );
	show_message(
		'<span class="hide-if-no-js">' . sprintf(
			/* translators: 1: WordPress version, 2: URL to About screen. */
			__( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%2$s">here</a>.' ),
			$result,
			esc_url( self_admin_url( 'about.php?updated' ) )
		) . '</span>'
	);
	show_message(
		'<span class="hide-if-js">' . sprintf(
			/* translators: 1: WordPress version, 2: URL to About screen. */
			__( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ),
			$result,
			esc_url( self_admin_url( 'about.php?updated' ) )
		) . '</span>'
	);
	?>
	</div>
	<script type="text/javascript">
	window.location = '<?php echo esc_url( self_admin_url( 'about.php?updated' ) ); ?>';
	</script>
	<?php
}

常見問題

FAQs
檢視更多 >