$value ) { if ( in_array( $key, array( 'tax_query', 'meta_query' ) ) ) { $current = $default_query_args[$key]; if ( ! empty( $current ) ) { $query_args[$key] = array_merge( $current, $query_args[$key] ); } } } return array_merge( $default_query_args, $query_args ); } /** * Sanitize settings before passing into provider render */ public function sanitize_settings( $settings = array() ) { $sanitized = array(); foreach ( $settings as $key => $value ) { if ( is_array( $value ) ) { $value = $this->sanitize_settings( $value ); } else { $value = $this->sanitize_setting( $value ); } $sanitized[ $key ] = $value; } return $sanitized; } /** * Sanitize single settings value before passing into provider renderer */ public function sanitize_setting( $value ) { $value = preg_replace( '@<(script|style)[^>]*?>.*?@si', '', $value ); return wp_check_invalid_utf8( $value, true ); } } }