WordPress Version: 6.2
/**
* Retrieves theme modification value for the active theme.
*
* If the modification name does not exist and `$default_value` is a string, then the
* default will be passed through the {@link https://www.php.net/sprintf sprintf()}
* PHP function with the template directory URI as the first value and the
* stylesheet directory URI as the second value.
*
* @since 2.1.0
*
* @param string $name Theme modification name.
* @param mixed $default_value Optional. Theme modification default value. Default false.
* @return mixed Theme modification value.
*/
function get_theme_mod($name, $default_value = false)
{
$mods = get_theme_mods();
if (isset($mods[$name])) {
/**
* Filters the theme modification, or 'theme_mod', value.
*
* The dynamic portion of the hook name, `$name`, refers to the key name
* of the modification array. For example, 'header_textcolor', 'header_image',
* and so on depending on the theme options.
*
* @since 2.2.0
*
* @param mixed $current_mod The value of the active theme modification.
*/
return apply_filters("theme_mod_{$name}", $mods[$name]);
}
if (is_string($default_value)) {
// Only run the replacement if an sprintf() string format pattern was found.
if (preg_match('#(?<!%)%(?:\d+\$?)?s#', $default_value)) {
// Remove a single trailing percent sign.
$default_value = preg_replace('#(?<!%)%$#', '', $default_value);
$default_value = sprintf($default_value, get_template_directory_uri(), get_stylesheet_directory_uri());
}
}
/** This filter is documented in wp-includes/theme.php */
return apply_filters("theme_mod_{$name}", $default_value);
}