wp_is_site_protected_by_basic_auth( string $context =  ): bool

Checks if this site is protected by HTTP Basic Auth.

Description

At the moment, this merely checks for the present of Basic Auth credentials. Therefore, calling this function with a context different from the current context may give inaccurate results.
In a future release, this evaluation may be made more robust.

Currently, this is only used by Application Passwords to prevent a conflict since it also utilizes Basic Auth.

Parameters

$contextstringoptional
The context to check for protection. Accepts 'login', 'admin', and 'front'.
Defaults to the current context.

Default:''

Return

bool Whether the site is protected by Basic Auth.

Source

function wp_is_site_protected_by_basic_auth( $context = '' ) {
	global $pagenow;

	if ( ! $context ) {
		if ( 'wp-login.php' === $pagenow ) {
			$context = 'login';
		} elseif ( is_admin() ) {
			$context = 'admin';
		} else {
			$context = 'front';
		}
	}

	$is_protected = ! empty( $_SERVER['PHP_AUTH_USER'] ) || ! empty( $_SERVER['PHP_AUTH_PW'] );

	/**
	 * Filters whether a site is protected by HTTP Basic Auth.
	 *
	 * @since 5.6.1
	 *
	 * @param bool $is_protected Whether the site is protected by Basic Auth.
	 * @param string $context    The context to check for protection. One of 'login', 'admin', or 'front'.
	 */
	return apply_filters( 'wp_is_site_protected_by_basic_auth', $is_protected, $context );
}

Hooks

apply_filters( ‘wp_is_site_protected_by_basic_auth’, bool $is_protected, string $context )

Filters whether a site is protected by HTTP Basic Auth.

Changelog

VersionDescription
5.6.1Introduced.

User Contributed Notes

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