WordPress.org

Make WordPress Core

Ticket #24197: 24197-2.patch

File 24197-2.patch, 1.9 KB (added by azaozz, 2 years ago)
  • wp-includes/class.wp-scripts.php

     
    133133         * Localizes only if the script has already been added 
    134134         */ 
    135135        function localize( $handle, $object_name, $l10n ) { 
    136                 if ( is_array($l10n) && isset($l10n['l10n_print_after']) ) { // back compat, preserve the code in 'l10n_print_after' if present 
     136                if ( is_array( $l10n ) && isset( $l10n['l10n_print_after'] ) ) { // back compat, preserve the code in 'l10n_print_after' if present 
    137137                        $after = $l10n['l10n_print_after']; 
    138                         unset($l10n['l10n_print_after']); 
     138                        unset( $l10n['l10n_print_after'] ); 
    139139                } 
    140140 
    141141                foreach ( (array) $l10n as $key => $value ) { 
    142                         if ( !is_scalar($value) ) 
     142                        if ( ! is_scalar( $value ) ) 
    143143                                continue; 
    144144 
    145                         $l10n[$key] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8'); 
     145                        $l10n[$key] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ); 
    146146                } 
    147147 
    148                 $script = "var $object_name = " . json_encode($l10n) . ';'; 
     148                $script = "var $object_name = " . json_encode( $l10n ) . ';'; 
    149149 
    150                 if ( !empty($after) ) 
     150                if ( ! empty( $after ) ) 
    151151                        $script .= "\n$after;"; 
    152152 
    153153                $data = $this->get_data( $handle, 'data' ); 
    154154 
    155                 if ( !empty( $data ) ) 
     155                if ( ! empty( $data ) ) 
    156156                        $script = "$data\n$script"; 
    157157 
     158                // For group/alias handles, add (localization) data to their first dependency 
     159                if ( isset( $this->registered[$handle] ) && ! $this->registered[$handle]->src && ! empty( $this->registered[$handle]->deps ) ) { 
     160                        $first_dep = $this->registered[$handle]->deps[0]; 
     161                        // The first dependency data has priority over the handle data (printed after) 
     162                        if ( $first_dep_data = $this->get_data( $first_dep, 'data' ) ) 
     163                                $script .= "\n$first_dep_data"; 
     164 
     165                        return $this->add_data( $first_dep, 'data', $script ); 
     166                } 
     167 
    158168                return $this->add_data( $handle, 'data', $script ); 
    159169        } 
    160170