WordPress.org

Make WordPress Core

Ticket #16024: 16024.sans-not-ie.with-wrapper-functions.diff

File 16024.sans-not-ie.with-wrapper-functions.diff, 3.5 KB (added by georgestephanis, 3 years ago)
  • wp-includes/functions.wp-scripts.php

     
    183183 
    184184        return (bool) $wp_scripts->query( $handle, $list ); 
    185185} 
     186 
     187function wp_script_add_data( $handle, $key, $value ){ 
     188        global $wp_scripts; 
     189        if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 
     190                if ( ! did_action( 'init' ) ) 
     191                        _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 
     192                                '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.5' ); 
     193                $wp_scripts = new WP_Scripts(); 
     194        } 
     195 
     196        return (bool) $wp_scripts->add_data( $handle, $key, $value ); 
     197} 
  • wp-includes/functions.wp-styles.php

     
    190190 
    191191        return (bool) $wp_styles->query( $handle, $list ); 
    192192} 
     193 
     194function wp_style_add_data( $handle, $key, $value ){ 
     195        global $wp_styles; 
     196        if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 
     197                if ( ! did_action( 'init' ) ) 
     198                        _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 
     199                                '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.5' ); 
     200                $wp_styles = new WP_Styles(); 
     201        } 
     202 
     203        return (bool) $wp_styles->add_data( $handle, $key, $value ); 
     204} 
  • wp-includes/class.wp-scripts.php

     
    8383                        return false; 
    8484                } 
    8585 
     86                $obj = $this->registered[$handle]; 
     87 
    8688                if ( false === $group && in_array($handle, $this->in_footer, true) ) 
    8789                        $this->in_footer = array_diff( $this->in_footer, (array) $handle ); 
    8890 
    89                 if ( null === $this->registered[$handle]->ver ) 
     91                if ( null === $obj->ver ) 
    9092                        $ver = ''; 
    9193                else 
    92                         $ver = $this->registered[$handle]->ver ? $this->registered[$handle]->ver : $this->default_version; 
     94                        $ver = $obj->ver ? $obj->ver : $this->default_version; 
    9395 
    9496                if ( isset($this->args[$handle]) ) 
    9597                        $ver = $ver ? $ver . '&amp;' . $this->args[$handle] : $this->args[$handle]; 
    9698 
    97                 $src = $this->registered[$handle]->src; 
     99                $src = $obj->src; 
    98100 
    99101                if ( $this->do_concat ) { 
    100102                        $srce = apply_filters( 'script_loader_src', $src, $handle ); 
    101                         if ( $this->in_default_dir($srce) ) { 
     103                        if ( $this->in_default_dir($srce) && ! isset( $obj->extra['conditional'] ) ) { 
    102104                                $this->print_code .= $this->print_extra_script( $handle, false ); 
    103105                                $this->concat .= "$handle,"; 
    104106                                $this->concat_version .= "$handle$ver"; 
     
    119121 
    120122                $src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) ); 
    121123 
     124                $cond_before = $cond_after = null; 
     125                if ( isset($obj->extra['conditional']) && $obj->extra['conditional'] ) { 
     126                        $cond_before = "<!--[if {$obj->extra['conditional']}]>\n"; 
     127                        $cond_after = "<![endif]-->\n"; 
     128                } 
     129 
    122130                if ( $this->do_concat ) 
    123                         $this->print_html .= "<script type='text/javascript' src='$src'></script>\n"; 
     131                        $this->print_html .= "$cond_before<script type='text/javascript' src='$src'></script>\n$cond_after"; 
    124132                else 
    125                         echo "<script type='text/javascript' src='$src'></script>\n"; 
     133                        echo "$cond_before<script type='text/javascript' src='$src'></script>\n$cond_after"; 
    126134 
    127135                return true; 
    128136        }