Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Sanitization callback for select and radio type Customizer controls.
* Sanitization callback for 'select' and 'radio' type controls.
* @copyright Copyright (c) 2015, WordPress Theme Review Team,
* @see sanitize_key()
* @see $wp_customize->get_control()
* @param String $input Slug to sanitize.
* @param WP_Customize_Setting $setting Setting instance.
* @return string Sanitized slug if it is a valid choice; otherwise, the setting default.
function theme_slug_sanitize_select( $input, $setting ) {
// Ensure input is a slug.
$input = sanitize_key( $input );
// Get list of choices from the control associated with the setting.
$choices = $setting->manager->get_control( $setting->id )->choices;
// If the input is a valid key, return it; otherwise, return the default.
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment