remove_theme_mod

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

WordPress Version: 6.1

/**
 * Removes theme modification name from active theme list.
 *
 * If removing the name also removes all elements, then the entire option
 * will be removed.
 *
 * @since 2.1.0
 *
 * @param string $name Theme modification name.
 */
function remove_theme_mod($name)
{
    $mods = get_theme_mods();
    if (!isset($mods[$name])) {
        return;
    }
    unset($mods[$name]);
    if (empty($mods)) {
        remove_theme_mods();
        return;
    }
    $theme = get_option('stylesheet');
    update_option("theme_mods_{$theme}", $mods);
}

WordPress Version: 5.5

/**
 * Removes theme modification name from current theme list.
 *
 * If removing the name also removes all elements, then the entire option
 * will be removed.
 *
 * @since 2.1.0
 *
 * @param string $name Theme modification name.
 */
function remove_theme_mod($name)
{
    $mods = get_theme_mods();
    if (!isset($mods[$name])) {
        return;
    }
    unset($mods[$name]);
    if (empty($mods)) {
        remove_theme_mods();
        return;
    }
    $theme = get_option('stylesheet');
    update_option("theme_mods_{$theme}", $mods);
}

WordPress Version: 4.3

/**
 * Remove theme modification name from current theme list.
 *
 * If removing the name also removes all elements, then the entire option will
 * be removed.
 *
 * @since 2.1.0
 *
 * @param string $name Theme modification name.
 */
function remove_theme_mod($name)
{
    $mods = get_theme_mods();
    if (!isset($mods[$name])) {
        return;
    }
    unset($mods[$name]);
    if (empty($mods)) {
        remove_theme_mods();
        return;
    }
    $theme = get_option('stylesheet');
    update_option("theme_mods_{$theme}", $mods);
}

WordPress Version: 3.7

/**
 * Remove theme modification name from current theme list.
 *
 * If removing the name also removes all elements, then the entire option will
 * be removed.
 *
 * @since 2.1.0
 *
 * @param string $name Theme modification name.
 * @return null
 */
function remove_theme_mod($name)
{
    $mods = get_theme_mods();
    if (!isset($mods[$name])) {
        return;
    }
    unset($mods[$name]);
    if (empty($mods)) {
        return remove_theme_mods();
    }
    $theme = get_option('stylesheet');
    update_option("theme_mods_{$theme}", $mods);
}