@@ -141,6 +141,7 @@ public function status() {
141
141
* @throws Exception When $settings_data is not an array of arrays.
142
142
*
143
143
* @param array $settings_data Settings data, mapping setting IDs to arrays containing `value` and optionally additional params.
144
+ * @param array $args extra optional param to tweak.
144
145
* @return array {
145
146
* Result.
146
147
*
@@ -149,7 +150,7 @@ public function status() {
149
150
* @type array $validities Setting validities.
150
151
* }
151
152
*/
152
- public function set ( array $ settings_data ) {
153
+ public function set ( array $ settings_data, array $ args = array () ) {
153
154
$ error = new \WP_Error ();
154
155
$ result = array (
155
156
'errors ' => null ,
@@ -188,26 +189,29 @@ public function set( array $settings_data ) {
188
189
)
189
190
);
190
191
191
- // Validate.
192
- if ( method_exists ( $ customize_manager , 'validate_setting_values ' ) ) {
193
- $ result ['validities ' ] = $ customize_manager ->validate_setting_values ( $ unsanitized_values );
194
- } else {
195
- // @codeCoverageIgnoreStart
196
- $ result ['validities ' ] = array_map (
197
- function ( $ sanitized ) {
198
- if ( is_null ( $ sanitized ) ) {
199
- return new \WP_Error ( 'invalid_value ' , __ ( 'Invalid value ' , 'customize-snapshots ' ) );
200
- } else {
201
- return true ;
202
- }
203
- },
204
- $ unsanitized_values
205
- );
206
- // @codeCoverageIgnoreEnd
192
+ $ invalid_setting_ids = array ();
193
+ if ( empty ( $ args ['skip_validation ' ] ) ) {
194
+ // Validate.
195
+ if ( method_exists ( $ customize_manager , 'validate_setting_values ' ) ) {
196
+ $ result ['validities ' ] = $ customize_manager ->validate_setting_values ( $ unsanitized_values );
197
+ } else {
198
+ // @codeCoverageIgnoreStart
199
+ $ result ['validities ' ] = array_map (
200
+ function ( $ sanitized ) {
201
+ if ( is_null ( $ sanitized ) ) {
202
+ return new \WP_Error ( 'invalid_value ' , __ ( 'Invalid value ' , 'customize-snapshots ' ) );
203
+ } else {
204
+ return true ;
205
+ }
206
+ },
207
+ $ unsanitized_values
208
+ );
209
+ // @codeCoverageIgnoreEnd
210
+ }
211
+ $ invalid_setting_ids = array_keys ( array_filter ( $ result ['validities ' ], function ( $ validity ) {
212
+ return is_wp_error ( $ validity );
213
+ } ) );
207
214
}
208
- $ invalid_setting_ids = array_keys ( array_filter ( $ result ['validities ' ], function ( $ validity ) {
209
- return is_wp_error ( $ validity );
210
- } ) );
211
215
212
216
// Sanitize.
213
217
foreach ( $ unsanitized_values as $ setting_id => $ unsanitized_value ) {
0 commit comments