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, 6 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        }