wp_is_maintenance_mode

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

WordPress Version: 6.3

/**
 * Checks if maintenance mode is enabled.
 *
 * Checks for a file in the WordPress root directory named ".maintenance".
 * This file will contain the variable $upgrading, set to the time the file
 * was created. If the file was created less than 10 minutes ago, WordPress
 * is in maintenance mode.
 *
 * @since 5.5.0
 *
 * @global int $upgrading The Unix timestamp marking when upgrading WordPress began.
 *
 * @return bool True if maintenance mode is enabled, false otherwise.
 */
function wp_is_maintenance_mode()
{
    global $upgrading;
    if (!file_exists(ABSPATH . '.maintenance') || wp_installing()) {
        return false;
    }
    require ABSPATH . '.maintenance';
    // If the $upgrading timestamp is older than 10 minutes, consider maintenance over.
    if (time() - $upgrading >= 10 * MINUTE_IN_SECONDS) {
        return false;
    }
    /**
     * Filters whether to enable maintenance mode.
     *
     * This filter runs before it can be used by plugins. It is designed for
     * non-web runtimes. If this filter returns true, maintenance mode will be
     * active and the request will end. If false, the request will be allowed to
     * continue processing even if maintenance mode should be active.
     *
     * @since 4.6.0
     *
     * @param bool $enable_checks Whether to enable maintenance mode. Default true.
     * @param int  $upgrading     The timestamp set in the .maintenance file.
     */
    if (!apply_filters('enable_maintenance_mode', true, $upgrading)) {
        return false;
    }
    return true;
}

WordPress Version: 5.5

/**
 * Check if maintenance mode is enabled.
 *
 * Checks for a file in the WordPress root directory named ".maintenance".
 * This file will contain the variable $upgrading, set to the time the file
 * was created. If the file was created less than 10 minutes ago, WordPress
 * is in maintenance mode.
 *
 * @since 5.5.0
 *
 * @global int $upgrading The Unix timestamp marking when upgrading WordPress began.
 *
 * @return bool True if maintenance mode is enabled, false otherwise.
 */
function wp_is_maintenance_mode()
{
    global $upgrading;
    if (!file_exists(ABSPATH . '.maintenance') || wp_installing()) {
        return false;
    }
    require ABSPATH . '.maintenance';
    // If the $upgrading timestamp is older than 10 minutes, consider maintenance over.
    if (time() - $upgrading >= 10 * MINUTE_IN_SECONDS) {
        return false;
    }
    /**
     * Filters whether to enable maintenance mode.
     *
     * This filter runs before it can be used by plugins. It is designed for
     * non-web runtimes. If this filter returns true, maintenance mode will be
     * active and the request will end. If false, the request will be allowed to
     * continue processing even if maintenance mode should be active.
     *
     * @since 4.6.0
     *
     * @param bool $enable_checks Whether to enable maintenance mode. Default true.
     * @param int  $upgrading     The timestamp set in the .maintenance file.
     */
    if (!apply_filters('enable_maintenance_mode', true, $upgrading)) {
        return false;
    }
    return true;
}