wp_update_https_migration_required()WP 5.7.0

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 {@see 'update_option_home'} action.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Return

null. Nothing (null).

Usage

wp_update_https_migration_required( $old_url, $new_url );
$old_url(mixed) (required)
Previous value of the URL option.
$new_url(mixed) (required)
New value of the URL option.

Changelog

Since 5.7.0 Introduced.

wp_update_https_migration_required() code WP 6.5.2

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

	// 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' );
		return;
	}

	// 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 );
}