wp_update_https_migration_required( mixed $old_url, mixed $new_url )

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Updates the ‘https_migration_required’ option if needed when the given URL has been updated from HTTP to HTTPS.


If this is a fresh site, a migration will not be required, so the option will be set as false.

This is hooked into the ‘update_option_home’ action.


Previous value of the URL option.
New value of the URL option.


function wp_update_https_migration_required( $old_url, $new_url ) {
	// Do nothing if WordPress is being installed.
	if ( wp_installing() ) {

	// Delete/reset the option if the new URL is not the HTTPS version of the old URL.
	if ( untrailingslashit( (string) $old_url ) !== str_replace( 'https://', 'http://', untrailingslashit( (string) $new_url ) ) ) {
		delete_option( 'https_migration_required' );

	// If this is a fresh site, there is no content to migrate, so do not require migration.
	$https_migration_required = get_option( 'fresh_site' ) ? false : true;

	update_option( 'https_migration_required', $https_migration_required );



User Contributed Notes

You must log in before being able to contribute a note or feedback.