WordPress Version: 5.7
/**
* 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.
*
* @since 5.7.0
* @access private
*
* @param mixed $old_url Previous value of the URL option.
* @param mixed $new_url 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()) {
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);
}