manager->get_control($setting->id)->choices;
// Retornar el input si es una opción válida, de lo contrario retornar el default
return (array_key_exists($input, $choices) ? $input : $setting->default);
}
}
if (!function_exists('apus_sanitize_css')) {
/**
* Sanitiza CSS
*
* Remueve scripts y código PHP potencialmente peligroso del CSS personalizado.
*
* @param string $css El string CSS a sanitizar
* @return string CSS sanitizado
* @since 1.0.0
*/
function apus_sanitize_css($css) {
// Remove #is', '', $css);
// Remove potential PHP code
$css = preg_replace('#<\?php(.*?)\?>#is', '', $css);
return wp_strip_all_tags($css);
}
}
if (!function_exists('apus_sanitize_js')) {
/**
* Sanitiza JavaScript
*
* Remueve etiquetas script externas y código PHP del JavaScript personalizado.
*
* @param string $js El string JavaScript a sanitizar
* @return string JavaScript sanitizado
* @since 1.0.0
*/
function apus_sanitize_js($js) {
// Remove #is', '$2', $js);
// Remove potential PHP code
$js = preg_replace('#<\?php(.*?)\?>#is', '', $js);
return trim($js);
}
}
if (!function_exists('apus_sanitize_integer')) {
/**
* Sanitiza valores enteros
*
* Convierte el valor a un entero absoluto (no negativo).
*
* @param mixed $input Valor a sanitizar
* @return int Valor sanitizado como entero
* @since 1.0.0
*/
function apus_sanitize_integer($input) {
return absint($input);
}
}
if (!function_exists('apus_sanitize_text')) {
/**
* Sanitiza campos de texto
*
* Remueve etiquetas HTML y caracteres especiales del texto.
*
* @param string $input Valor a sanitizar
* @return string Texto sanitizado
* @since 1.0.0
*/
function apus_sanitize_text($input) {
return sanitize_text_field($input);
}
}
if (!function_exists('apus_sanitize_url')) {
/**
* Sanitiza URLs
*
* Valida y sanitiza URLs para asegurar que son válidas.
*
* @param string $input URL a sanitizar
* @return string URL sanitizada
* @since 1.0.0
*/
function apus_sanitize_url($input) {
return esc_url_raw($input);
}
}
if (!function_exists('apus_sanitize_html')) {
/**
* Sanitiza contenido HTML
*
* Permite etiquetas HTML seguras, removiendo scripts y código peligroso.
*
* @param string $input Contenido HTML a sanitizar
* @return string HTML sanitizado
* @since 1.0.0
*/
function apus_sanitize_html($input) {
return wp_kses_post($input);
}
}