get_theme_support

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

WordPress Version: 5.5

/**
 * Gets the theme support arguments passed when registering that support.
 *
 * Example usage:
 *
 *     get_theme_support( 'custom-logo' );
 *     get_theme_support( 'custom-header', 'width' );
 *
 * @since 3.1.0
 * @since 5.3.0 Formalized the existing and already documented `...$args` parameter
 *              by adding it to the function signature.
 *
 * @global array $_wp_theme_features
 *
 * @param string $feature The feature to check. See add_theme_support() for the list
 *                        of possible values.
 * @param mixed  ...$args Optional extra arguments to be checked against certain features.
 * @return mixed The array of extra arguments or the value for the registered feature.
 */
function get_theme_support($feature, ...$args)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (!$args) {
        return $_wp_theme_features[$feature];
    }
    switch ($feature) {
        case 'custom-logo':
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 5.3

/**
 * Gets the theme support arguments passed when registering that support
 *
 * Example usage:
 *
 *     get_theme_support( 'custom-logo' );
 *     get_theme_support( 'custom-header', 'width' );
 *
 * @since 3.1.0
 * @since 5.3.0 Formalized the existing and already documented `...$args` parameter
 *              by adding it to the function signature.
 *
 * @global array $_wp_theme_features
 *
 * @param string $feature The feature to check.
 * @param mixed  ...$args Optional extra arguments to be checked against certain features.
 * @return mixed The array of extra arguments or the value for the registered feature.
 */
function get_theme_support($feature, ...$args)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (!$args) {
        return $_wp_theme_features[$feature];
    }
    switch ($feature) {
        case 'custom-logo':
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 5.2

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1.0
 *
 * @global array $_wp_theme_features
 *
 * @param string $feature The feature to check.
 * @return mixed The array of extra arguments or the value for the registered feature.
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-logo':
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 4.5

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1.0
 *
 * @global array $_wp_theme_features
 *
 * @param string $feature the feature to check
 * @return mixed The array of extra arguments or the value for the registered feature.
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-logo':
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 4.3

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1.0
 *
 * @global array $_wp_theme_features
 *
 * @param string $feature the feature to check
 * @return mixed The array of extra arguments or the value for the registered feature.
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 4.1

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1.0
 *
 * @param string $feature the feature to check
 * @return mixed The array of extra arguments or the value for the registered feature.
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 4.0

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1.0
 *
 * @param string $feature the feature to check
 * @return array The array of extra arguments
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
        default:
            return $_wp_theme_features[$feature];
    }
}

WordPress Version: 3.9

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1.0
 *
 * @param string $feature the feature to check
 * @return array The array of extra arguments
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
            break;
        default:
            return $_wp_theme_features[$feature];
            break;
    }
}

WordPress Version: 3.7

/**
 * Gets the theme support arguments passed when registering that support
 *
 * @since 3.1
 * @param string $feature the feature to check
 * @return array The array of extra arguments
 */
function get_theme_support($feature)
{
    global $_wp_theme_features;
    if (!isset($_wp_theme_features[$feature])) {
        return false;
    }
    if (func_num_args() <= 1) {
        return $_wp_theme_features[$feature];
    }
    $args = array_slice(func_get_args(), 1);
    switch ($feature) {
        case 'custom-header':
        case 'custom-background':
            if (isset($_wp_theme_features[$feature][0][$args[0]])) {
                return $_wp_theme_features[$feature][0][$args[0]];
            }
            return false;
            break;
        default:
            return $_wp_theme_features[$feature];
            break;
    }
}