WordPress Version: 6.1
/**
* Determines whether we are currently on an endpoint that should be protected against WSODs.
*
* @since 5.2.0
*
* @global string $pagenow The filename of the current screen.
*
* @return bool True if the current endpoint should be protected.
*/
function is_protected_endpoint()
{
// Protect login pages.
if (isset($GLOBALS['pagenow']) && 'wp-login.php' === $GLOBALS['pagenow']) {
return true;
}
// Protect the admin backend.
if (is_admin() && !wp_doing_ajax()) {
return true;
}
// Protect Ajax actions that could help resolve a fatal error should be available.
if (is_protected_ajax_action()) {
return true;
}
/**
* Filters whether the current request is against a protected endpoint.
*
* This filter is only fired when an endpoint is requested which is not already protected by
* WordPress core. As such, it exclusively allows providing further protected endpoints in
* addition to the admin backend, login pages and protected Ajax actions.
*
* @since 5.2.0
*
* @param bool $is_protected_endpoint Whether the currently requested endpoint is protected.
* Default false.
*/
return (bool) apply_filters('is_protected_endpoint', false);
}