A WordPress-centric search engine for devs and theme authors

wp_update_urls_to_https › WordPress Function

wp_update_urls_to_https ( No parameters )
  • (bool) True on success, false on failure.
Defined at:

Update the 'home' and 'siteurl' option to use the HTTPS variant of their URL.

If this update does not result in WordPress recognizing that the site is now using HTTPS (e.g. due to constants overriding the URLs used), the changes will be reverted. In such a case the function will return false.


function wp_update_urls_to_https() {
	// Get current URL options.
	$orig_home    = get_option( 'home' );
	$orig_siteurl = get_option( 'siteurl' );

	// Get current URL options, replacing HTTP with HTTPS.
	$home    = str_replace( 'http://', 'https://', $orig_home );
	$siteurl = str_replace( 'http://', 'https://', $orig_siteurl );

	// Update the options.
	update_option( 'home', $home );
	update_option( 'siteurl', $siteurl );

	if ( ! wp_is_using_https() ) {
		// If this did not result in the site recognizing HTTPS as being used,
		// revert the change and return false.
		update_option( 'home', $orig_home );
		update_option( 'siteurl', $orig_siteurl );
		return false;

	// Otherwise the URLs were successfully changed to use HTTPS.
	return true;