WordPress.org

Make WordPress Core

Ticket #9346: 9346-2.patch

File 9346-2.patch, 5.2 KB (added by azaozz, 7 years ago)
  • wp-includes/class.wp-dependencies.php

     
    3939                $this->all_deps( $handles );
    4040
    4141                foreach( $this->to_do as $key => $handle ) {
    42                         if ( !in_array($handle, $this->done) && isset($this->registered[$handle]) ) {
     42                        if ( !in_array($handle, $this->done, true) && isset($this->registered[$handle]) ) {
    4343
    4444                                if ( ! $this->registered[$handle]->src ) { // Defines a group.
    4545                                        $this->done[] = $handle;
  • wp-includes/class.wp-scripts.php

     
    167167        }
    168168
    169169        function do_footer_items() {
    170                 if ( !empty($this->in_footer) ) {
    171                         foreach( $this->in_footer as $key => $handle ) {
    172                                 if ( !in_array($handle, $this->done, true) && isset($this->registered[$handle]) ) {
    173                                         $this->do_item($handle);
    174                                         $this->done[] = $handle;
    175                                         unset( $this->in_footer[$key] );
    176                                 }
    177                         }
    178                 }
     170                $this->do_items(false, 1);
    179171                return $this->done;
    180172        }
    181173
  • wp-includes/class.wp-styles.php

     
    122122                }
    123123                return false;
    124124        }
     125       
     126        function do_footer_items() { // HTML 5 allows styles in the body, grab late enqueued items and output them in the footer.
     127                $this->do_items(false, 1);
     128                return $this->done;
     129        }
    125130
     131        function reset() {
     132                $this->do_concat = false;
     133                $this->concat = '';
     134                $this->concat_version = '';
     135                $this->print_html = '';
     136        }
    126137}
     138
  • wp-includes/default-filters.php

     
    242242add_action( 'do_robots',                  'do_robots'                      );
    243243add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'       );
    244244add_action( 'admin_print_scripts',        'print_head_scripts',      20    );
    245 add_action( 'admin_print_footer_scripts', 'print_footer_scripts',    20    );
     245add_action( 'admin_print_footer_scripts', 'wp_print_footer_scripts', 20    );
    246246add_action( 'admin_print_styles',         'print_admin_styles',      20    );
    247247add_action( 'init',                       'smilies_init',             5    );
    248248add_action( 'plugins_loaded',             'wp_maybe_load_widgets',    0    );
  • wp-includes/script-loader.php

     
    474474        $styles->content_url = defined('WP_CONTENT_URL')? WP_CONTENT_URL : '';
    475475        $styles->default_version = get_bloginfo( 'version' );
    476476        $styles->text_direction = function_exists( 'is_rtl' ) && is_rtl() ? 'rtl' : 'ltr';
    477         $styles->default_dirs = array('/wp-admin/');
     477        $styles->default_dirs = array('/wp-admin/', '/wp-includes/');
    478478
    479479        $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : '';
    480480
     
    723723 * @since 2.8
    724724 */
    725725function wp_print_footer_scripts() {
    726         return print_footer_scripts();
     726        print_late_styles();
     727        print_footer_scripts();
     728        return true;
    727729}
    728730
    729731/**
     
    752754
    753755        $wp_styles->do_items(false);
    754756
    755         if ( apply_filters('print_admin_styles', true) ) {
    756                 if ( !empty($wp_styles->concat) ) {
    757                         $dir = $wp_styles->text_direction;
    758                         $ver = md5("$wp_styles->concat_version{$dir}");
    759                         $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&load=" . trim($wp_styles->concat, ', ') . "&ver=$ver";
    760                         echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n";
    761                 }
     757        if ( apply_filters('print_admin_styles', true) )
     758                _print_styles();
    762759
    763                 if ( !empty($wp_styles->print_html) )
    764                         echo $wp_styles->print_html;
    765         }
     760        $wp_styles->reset();
     761        return $wp_styles->done;
     762}
    766763
    767         $wp_styles->do_concat = false;
    768         $wp_styles->concat = $wp_styles->concat_version = $wp_styles->print_html = '';
     764function print_late_styles() {
     765        global $wp_styles, $concatenate_scripts;
     766
     767        if ( !is_a($wp_styles, 'WP_Styles') )
     768                return;
     769
     770        $wp_styles->do_concat = $concatenate_scripts;
     771        $wp_styles->do_footer_items();
     772
     773        if ( apply_filters('print_late_styles', true) )
     774                _print_styles();
     775
     776        $wp_styles->reset();
    769777        return $wp_styles->done;
    770778}
    771779
     780function _print_styles() {
     781        global $wp_styles, $compress_css;
     782
     783        $zip = $compress_css ? 1 : 0;
     784        if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP )
     785                $zip = 'gzip';
     786
     787        if ( !empty($wp_styles->concat) ) {
     788                $dir = $wp_styles->text_direction;
     789                $ver = md5("$wp_styles->concat_version{$dir}");
     790                $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&load=" . trim($wp_styles->concat, ', ') . "&ver=$ver";
     791                echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n";
     792        }
     793
     794        if ( !empty($wp_styles->print_html) )
     795                echo $wp_styles->print_html;
     796}
     797
    772798function script_concat_settings() {
    773799        global $concatenate_scripts, $compress_scripts, $compress_css;
    774800