WC_HTTPS::unforce_https_template_redirect()public staticWC 1.0

Template redirect - if we end up on a page ensure it has the correct http/https url.

Method of the class: WC_HTTPS{}

Hooks from the method

Return

null. Nothing (null).

Usage

$result = WC_HTTPS::unforce_https_template_redirect();

WC_HTTPS::unforce_https_template_redirect() code WC 9.4.2

public static function unforce_https_template_redirect() {
	if ( function_exists( 'is_customize_preview' ) && is_customize_preview() ) {
		return;
	}

	if ( ! wc_site_is_https() && is_ssl() && $_SERVER['REQUEST_URI'] && ! is_checkout() && ! wp_doing_ajax() && ! is_account_page() && apply_filters( 'woocommerce_unforce_ssl_checkout', true ) ) {

		if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
			wp_safe_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ) );
			exit;
		} else {
			wp_safe_redirect( 'http://' . ( ! empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST'] ) . $_SERVER['REQUEST_URI'] );
			exit;
		}
	}
}