is_protected_endpoint

The timeline below displays how wordpress function is_protected_endpoint has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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

WordPress Version: 5.7

/**
 * Determines whether we are currently on an endpoint that should be protected against WSODs.
 *
 * @since 5.2.0
 *
 * @global string $pagenow
 *
 * @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);
}

WordPress Version: 5.5

/**
 * Determines whether we are currently on an endpoint that should be protected against WSODs.
 *
 * @since 5.2.0
 *
 * @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);
}

WordPress Version: 5.2

/**
 * Determines whether we are currently on an endpoint that should be protected against WSODs.
 *
 * @since 5.2.0
 *
 * @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);
}