The customize_value_{$id_base} WordPress PHP filter allows you to modify the value of a Customize setting that isn’t managed as a theme_mod or option.
Usage
add_filter('customize_value_my_setting', 'my_custom_function', 10, 2);
function my_custom_function($default_value, $setting) {
// Your custom code here
return $default_value;
}
Parameters
$default_value(mixed): The setting default value. Default empty.$setting(WP_Customize_Setting): The setting instance.
More information
See WordPress Developer Resources: customize_value_{$id_base}
Examples
Modify a custom setting value
This example changes the value of a custom setting called my_custom_setting.
add_filter('customize_value_my_custom_setting', 'change_my_custom_setting', 10, 2);
function change_my_custom_setting($default_value, $setting) {
$new_value = 'New custom value';
return $new_value;
}
Set a default value for a custom setting
This example sets a default value for a custom setting called my_background_color.
add_filter('customize_value_my_background_color', 'set_default_background_color', 10, 2);
function set_default_background_color($default_value, $setting) {
$default_value = '#ffffff';
return $default_value;
}
Validate a custom setting value
This example validates the value of a custom setting called my_age_range to make sure it’s a number between 18 and 99.
add_filter('customize_value_my_age_range', 'validate_age_range', 10, 2);
function validate_age_range($default_value, $setting) {
if ($default_value >= 18 && $default_value <= 99) {
return $default_value;
}
return 18;
}
Modify a custom setting value based on another setting
This example modifies the value of a custom setting called my_custom_logo based on the value of another setting called my_logo_position.
add_filter('customize_value_my_custom_logo', 'change_logo_based_on_position', 10, 2);
function change_logo_based_on_position($default_value, $setting) {
$logo_position = get_theme_mod('my_logo_position');
if ($logo_position == 'left') {
$default_value = 'Left logo image';
} elseif ($logo_position == 'right') {
$default_value = 'Right logo image';
}
return $default_value;
}
Modify a custom setting value using a custom function
This example modifies the value of a custom setting called my_custom_text by running it through a custom function that shortens the text.
add_filter('customize_value_my_custom_text', 'shorten_custom_text', 10, 2);
function shorten_custom_text($default_value, $setting) {
$shortened_text = my_custom_shorten_text_function($default_value);
return $shortened_text;
}