Ticket #26111: 26111.diff
File 26111.diff, 1.6 KB (added by , 10 years ago) |
---|
-
wp-includes/class.wp-scripts.php
152 152 * Localizes only if the script has already been added 153 153 */ 154 154 public function localize( $handle, $object_name, $l10n ) { 155 if ( $handle === 'jquery' ) 155 if ( $handle === 'jquery' ) { 156 156 $handle = 'jquery-core'; 157 } 157 158 158 if ( is_array($l10n) && isset($l10n['l10n_print_after']) ) { // back compat, preserve the code in 'l10n_print_after' if present 159 if ( is_callable( $l10n ) ) { 160 $l10n = call_user_func( $l10n ); 161 } 162 163 if ( is_array( $l10n ) && isset( $l10n['l10n_print_after'] ) ) { // back compat, preserve the code in 'l10n_print_after' if present 159 164 $after = $l10n['l10n_print_after']; 160 unset( $l10n['l10n_print_after']);165 unset( $l10n['l10n_print_after'] ); 161 166 } 162 167 163 168 foreach ( (array) $l10n as $key => $value ) { 164 if ( ! is_scalar($value) )169 if ( ! is_scalar( $value ) ) { 165 170 continue; 171 } 166 172 167 $l10n[ $key] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8');173 $l10n[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8'); 168 174 } 169 175 170 $script = "var $object_name = " . json_encode( $l10n) . ';';176 $script = "var $object_name = " . json_encode( $l10n ) . ';'; 171 177 172 if ( ! empty($after) )178 if ( ! empty( $after ) ) { 173 179 $script .= "\n$after;"; 180 } 174 181 175 182 $data = $this->get_data( $handle, 'data' ); 176 183 177 if ( ! empty( $data ) )184 if ( ! empty( $data ) ) { 178 185 $script = "$data\n$script"; 186 } 179 187 180 188 return $this->add_data( $handle, 'data', $script ); 181 189 }