wp_should_replace_insecure_home_url(): bool

In this article

Checks whether WordPress should replace old HTTP URLs to the site with their HTTPS counterpart.

Description

If a WordPress site had its URL changed from HTTP to HTTPS, by default this will return true, causing WordPress to add frontend filters to replace insecure site URLs that may be present in older database content. The ‘wp_should_replace_insecure_home_url’ filter can be used to modify that behavior.

Return

bool True if insecure URLs should replaced, false otherwise.

Source

function wp_should_replace_insecure_home_url() {
	$should_replace_insecure_home_url = wp_is_using_https()
		&& get_option( 'https_migration_required' )
		// For automatic replacement, both 'home' and 'siteurl' need to not only use HTTPS, they also need to be using
		// the same domain.
		&& wp_parse_url( home_url(), PHP_URL_HOST ) === wp_parse_url( site_url(), PHP_URL_HOST );

	/**
	 * Filters whether WordPress should replace old HTTP URLs to the site with their HTTPS counterpart.
	 *
	 * If a WordPress site had its URL changed from HTTP to HTTPS, by default this will return `true`. This filter can
	 * be used to disable that behavior, e.g. after having replaced URLs manually in the database.
	 *
	 * @since 5.7.0
	 *
	 * @param bool $should_replace_insecure_home_url Whether insecure HTTP URLs to the site should be replaced.
	 */
	return apply_filters( 'wp_should_replace_insecure_home_url', $should_replace_insecure_home_url );
}

Hooks

apply_filters( ‘wp_should_replace_insecure_home_url’, bool $should_replace_insecure_home_url )

Filters whether WordPress should replace old HTTP URLs to the site with their HTTPS counterpart.

Changelog

VersionDescription
5.7.0Introduced.

User Contributed Notes

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