diff --git a/includes/admin/class-admin.php b/includes/admin/class-admin.php index cb4e2bf6..6d45cdba 100644 --- a/includes/admin/class-admin.php +++ b/includes/admin/class-admin.php @@ -977,7 +977,11 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { $sanitized[ $k ] = (bool) $v; break; case 'url': - $sanitized[ $k ] = esc_url_raw( $v ); + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'esc_url_raw', $v ); + } else { + $sanitized[ $k ] = esc_url_raw( $v ); + } break; case 'text': $sanitized[ $k ] = sanitize_text_field( $v ); @@ -985,6 +989,20 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { case 'textarea': $sanitized[ $k ] = sanitize_textarea_field( $v ); break; + case 'key': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'sanitize_key', $v ); + } else { + $sanitized[ $k ] = sanitize_key( $v ); + } + break; + case 'absint': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'absint', $v ); + } else { + $sanitized[ $k ] = absint( $v ); + } + break; } } @@ -1035,7 +1053,11 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { $sanitized[ $k ] = (bool) $v; break; case 'url': - $sanitized[ $k ] = esc_url_raw( $v ); + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'esc_url_raw', $v ); + } else { + $sanitized[ $k ] = esc_url_raw( $v ); + } break; case 'text': $sanitized[ $k ] = sanitize_text_field( $v ); @@ -1043,6 +1065,20 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { case 'textarea': $sanitized[ $k ] = sanitize_textarea_field( $v ); break; + case 'key': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'sanitize_key', $v ); + } else { + $sanitized[ $k ] = sanitize_key( $v ); + } + break; + case 'absint': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'absint', $v ); + } else { + $sanitized[ $k ] = absint( $v ); + } + break; } }