Make WordPress Core

Ticket #40702: 40702-localize.diff

File 40702-localize.diff, 2.1 KB (added by iandunn, 9 years ago)

Alternate approach to adding script data

  • src/wp-admin/index.php

    diff --git src/wp-admin/index.php src/wp-admin/index.php
    index 76628abbd7..5c73f19008 100644
    require_once(ABSPATH . 'wp-admin/includes/dashboard.php'); 
    1515wp_dashboard_setup();
    1616
    1717wp_enqueue_script( 'dashboard' );
    18 wp_localize_script( 'dashboard', 'communityEventsData', wp_get_community_events_script_data() );
    1918
    2019if ( current_user_can( 'edit_theme_options' ) )
    2120        wp_enqueue_script( 'customize-loader' );
  • src/wp-admin/network/index.php

    diff --git src/wp-admin/network/index.php src/wp-admin/network/index.php
    index 38acec4b6e..f4a1aa6423 100644
    get_current_screen()->set_help_sidebar( 
    5454wp_dashboard_setup();
    5555
    5656wp_enqueue_script( 'dashboard' );
    57 wp_localize_script( 'dashboard', 'communityEventsData', wp_get_community_events_script_data() );
    5857wp_enqueue_script( 'plugin-install' );
    5958add_thickbox();
    6059
  • src/wp-includes/script-loader.php

    diff --git src/wp-includes/script-loader.php src/wp-includes/script-loader.php
    index f1eda9ee38..6bb01aee42 100644
    require( ABSPATH . WPINC . '/functions.wp-styles.php' ); 
    4747 */
    4848function wp_default_scripts( &$scripts ) {
    4949        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
     50        global $pagenow;
    5051
    5152        $develop_src = false !== strpos( $wp_version, '-src' );
    5253
    function wp_default_scripts( &$scripts ) { 
    733734                ) );
    734735
    735736                $scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox', 'wp-util', 'wp-a11y' ), false, 1 );
     737                /*
     738                 * Only localize the script on the Network Dashboard and single-site
     739                 * Dashboard screens, because wp_get_community_events_script_data() is
     740                 * too expensive to call on every page load.
     741                 */
     742                if ( 'index.php' === $pagenow ) {
     743                        require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
     744                        $scripts->localize( 'dashboard', 'communityEventsData', wp_get_community_events_script_data() );
     745                }
    736746
    737747                $scripts->add( 'list-revisions', "/wp-includes/js/wp-list-revisions$suffix.js" );
    738748