WordPress.org

Make WordPress Core

Ticket #37247: 37247.0.4.diff

File 37247.0.4.diff, 1.5 KB (added by westonruter, 5 years ago)
  • src/wp-includes/class-wp-customize-manager.php

    diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php
    index 60b07a8..761e321 100644
    final class WP_Customize_Manager { 
    670670                if ( ! array_key_exists( $setting->id, $post_values ) ) {
    671671                        return $default;
    672672                }
    673                 $value = $setting->sanitize( $post_values[ $setting->id ] );
    674                 if ( is_null( $value ) || is_wp_error( $value ) ) {
    675                         return $default;
    676                 }
     673                $value = $post_values[ $setting->id ];
    677674                $valid = $setting->validate( $value );
    678675                if ( is_wp_error( $valid ) ) {
    679676                        return $default;
    680677                }
     678                $value = $setting->sanitize( $value );
     679                if ( is_null( $value ) || is_wp_error( $value ) ) {
     680                        return $default;
     681                }
    681682                return $value;
    682683        }
    683684
    final class WP_Customize_Manager { 
    10071008                        if ( ! $setting || is_null( $unsanitized_value ) ) {
    10081009                                continue;
    10091010                        }
    1010                         $validity = $setting->validate( $setting->sanitize( $unsanitized_value ) );
    1011                         if ( false === $validity || null === $validity ) {
     1011                        $validity = $setting->validate( $unsanitized_value );
     1012                        if ( ! is_wp_error( $validity ) ) {
     1013                                $value = $setting->sanitize( $unsanitized_value );
     1014                                if ( is_null( $value ) ) {
     1015                                        $validity = false;
     1016                                } elseif ( is_wp_error( $value ) ) {
     1017                                        $validity = $value;
     1018                                }
     1019                        }
     1020                        if ( false === $validity ) {
    10121021                                $validity = new WP_Error( 'invalid_value', __( 'Invalid value.' ) );
    10131022                        }
    10141023                        $validities[ $setting_id ] = $validity;