A WordPress-centric search engine for devs and theme authors



wp_is_site_protected_by_basic_auth ›

Since5.6.1
Deprecatedn/a
wp_is_site_protected_by_basic_auth ( $context = '' )
Parameters:
  • (string) $context The context to check for protection. Accepts 'login', 'admin', and 'front'. Defaults to the current context.
    Required: No
    Default: (empty)
Returns:
  • (bool) Whether the site is protected by Basic Auth.
Defined at:
Codex:

Checks if this site is protected by HTTP Basic Auth.

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.


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 );
}