The customize_sanitize_{$this->id} WordPress PHP filter allows you to sanitize and validate the value of a specific Customize setting in an un-slashed form.
Usage
add_filter('customize_sanitize_my_setting_id', 'my_custom_function', 10, 2);
function my_custom_function($value, $setting) {
// your custom code here
return $value;
}
Parameters
$value(mixed): The value of the setting that needs to be sanitized and validated.$setting(WP_Customize_Setting): The instance of the WP_Customize_Setting object.
More information
See WordPress Developer Resources: customize_sanitize_{$this->id}
Examples
Sanitize a text input
Sanitize a text input by removing HTML tags and escaping quotes.
add_filter('customize_sanitize_text_input', 'sanitize_text_input_function', 10, 2);
function sanitize_text_input_function($value, $setting) {
// Strip HTML tags and escape quotes
$value = wp_kses_post($value);
return $value;
}
Validate an email address
Check if the value entered is a valid email address.
add_filter('customize_sanitize_email_input', 'sanitize_email_input_function', 10, 2);
function sanitize_email_input_function($value, $setting) {
// Check if the value is a valid email
if (is_email($value)) {
return $value;
}
return '';
}
Sanitize a color input
Sanitize a color input by checking if it’s a valid hex color.
add_filter('customize_sanitize_color_input', 'sanitize_color_input_function', 10, 2);
function sanitize_color_input_function($value, $setting) {
// Check if the value is a valid hex color
if (preg_match('/^#[a-fA-F0-9]{6}$/', $value)) {
return $value;
}
return '';
}
Limit the maximum number for a numeric input
Limit the maximum number that can be entered in a numeric input field.
add_filter('customize_sanitize_numeric_input', 'sanitize_numeric_input_function', 10, 2);
function sanitize_numeric_input_function($value, $setting) {
// Set a maximum limit for the value
$max_value = 100;
if ($value > $max_value) {
return $max_value;
}
return $value;
}
Sanitize a URL input
Sanitize a URL input by escaping the URL.
add_filter('customize_sanitize_url_input', 'sanitize_url_input_function', 10, 2);
function sanitize_url_input_function($value, $setting) {
// Escape the URL
$value = esc_url($value);
return $value;
}