wp_check_browser_version

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

WordPress Version: 5.8

/**
 * Checks if the user needs a browser update.
 *
 * @since 3.2.0
 *
 * @return array|false Array of browser data on success, false on failure.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    $response = get_site_transient('browser_' . $key);
    if (false === $response) {
        // Include an unmodified $wp_version.
        require ABSPATH . WPINC . '/version.php';
        $url = 'http://api.wordpress.org/core/browse-happy/1.1/';
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_post($url, $options);
        if (is_wp_error($response) || 200 !== wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'platform' - string - A user-friendly platform name, if it can be determined
         *  'name' - string - A user-friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'update_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 5.7

/**
 * Checks if the user needs a browser update.
 *
 * @since 3.2.0
 *
 * @return array|false Array of browser data on success, false on failure.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    $response = get_site_transient('browser_' . $key);
    if (false === $response) {
        // Include an unmodified $wp_version.
        require ABSPATH . WPINC . '/version.php';
        $url = 'http://api.wordpress.org/core/browse-happy/1.1/';
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_post($url, $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'platform' - string - A user-friendly platform name, if it can be determined
         *  'name' - string - A user-friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'update_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 5.4

/**
 * Checks if the user needs a browser update.
 *
 * @since 3.2.0
 *
 * @return array|bool Array of browser data on success, false on failure.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    $response = get_site_transient('browser_' . $key);
    if (false === $response) {
        // Include an unmodified $wp_version.
        require ABSPATH . WPINC . '/version.php';
        $url = 'http://api.wordpress.org/core/browse-happy/1.1/';
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_post($url, $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'platform' - string - A user-friendly platform name, if it can be determined
         *  'name' - string - A user-friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'update_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 5.3

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    $response = get_site_transient('browser_' . $key);
    if (false === $response) {
        // include an unmodified $wp_version
        include ABSPATH . WPINC . '/version.php';
        $url = 'http://api.wordpress.org/core/browse-happy/1.1/';
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_post($url, $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'platform' - string - A user-friendly platform name, if it can be determined
         *  'name' - string - A user-friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'update_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 4.9

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    if (false === $response = get_site_transient('browser_' . $key)) {
        // include an unmodified $wp_version
        include ABSPATH . WPINC . '/version.php';
        $url = 'http://api.wordpress.org/core/browse-happy/1.1/';
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_post($url, $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'platform' - string - A user-friendly platform name, if it can be determined
         *  'name' - string - A user-friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'update_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 4.8

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    if (false === $response = get_site_transient('browser_' . $key)) {
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . get_bloginfo('version') . '; ' . home_url());
        $response = wp_remote_post('http://api.wordpress.org/core/browse-happy/1.1/', $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'platform' - string - A user-friendly platform name, if it can be determined
         *  'name' - string - A user-friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'update_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 4.7

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    if (false === $response = get_site_transient('browser_' . $key)) {
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . get_bloginfo('version') . '; ' . home_url());
        $response = wp_remote_post('http://api.wordpress.org/core/browse-happy/1.1/', $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'name' - string - A user friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'upgrade_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 4.4

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @global string $wp_version
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    if (false === $response = get_site_transient('browser_' . $key)) {
        global $wp_version;
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url());
        $response = wp_remote_post('http://api.wordpress.org/core/browse-happy/1.1/', $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'name' - string - A user friendly browser name
         *  'version' - string - The version of the browser the user is using
         *  'current_version' - string - The most recent version of the browser
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'upgrade_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 4.3

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @global string $wp_version
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    if (false === $response = get_site_transient('browser_' . $key)) {
        global $wp_version;
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url());
        $response = wp_remote_post('http://api.wordpress.org/core/browse-happy/1.1/', $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'name' - string - A user friendly browser name
         *  'version' - string - The most recent version of the browser
         *  'current_version' - string - The version of the browser the user is using
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'upgrade_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}

WordPress Version: 3.7

/**
 * Check if the user needs a browser update
 *
 * @since 3.2.0
 *
 * @return array|bool False on failure, array of browser data on success.
 */
function wp_check_browser_version()
{
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return false;
    }
    $key = md5($_SERVER['HTTP_USER_AGENT']);
    if (false === $response = get_site_transient('browser_' . $key)) {
        global $wp_version;
        $options = array('body' => array('useragent' => $_SERVER['HTTP_USER_AGENT']), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url());
        $response = wp_remote_post('http://api.wordpress.org/core/browse-happy/1.1/', $options);
        if (is_wp_error($response) || 200 != wp_remote_retrieve_response_code($response)) {
            return false;
        }
        /**
         * Response should be an array with:
         *  'name' - string - A user friendly browser name
         *  'version' - string - The most recent version of the browser
         *  'current_version' - string - The version of the browser the user is using
         *  'upgrade' - boolean - Whether the browser needs an upgrade
         *  'insecure' - boolean - Whether the browser is deemed insecure
         *  'upgrade_url' - string - The url to visit to upgrade
         *  'img_src' - string - An image representing the browser
         *  'img_src_ssl' - string - An image (over SSL) representing the browser
         */
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('browser_' . $key, $response, WEEK_IN_SECONDS);
    }
    return $response;
}