Ticket #11526: 11526.diff
File 11526.diff, 9.3 KB (added by , 12 years ago) |
---|
-
wp-includes/functions.wp-scripts.php
24 24 $handles = false; 25 25 26 26 global $wp_scripts; 27 if ( !is_a($wp_scripts, 'WP_Scripts') ) { 27 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 28 if ( ! did_action( 'init' ) ) 29 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 30 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 31 28 32 if ( !$handles ) 29 33 return array(); // No need to instantiate if nothing is there. 30 34 else … … 47 51 */ 48 52 function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false ) { 49 53 global $wp_scripts; 54 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 55 if ( ! did_action( 'init' ) ) 56 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 57 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 58 $wp_scripts = new WP_Scripts(); 59 } 50 60 51 wp_scripts_init();52 53 61 $wp_scripts->add( $handle, $src, $deps, $ver ); 54 62 if ( $in_footer ) 55 63 $wp_scripts->add_data( $handle, 'group', 1 ); … … 75 83 */ 76 84 function wp_localize_script( $handle, $name, $data ) { 77 85 global $wp_scripts; 86 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 87 if ( ! did_action( 'init' ) ) 88 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 89 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 90 return false; 91 } 78 92 79 wp_scripts_init();80 81 93 return $wp_scripts->add_script_data( $handle, $name, $data ); 82 94 } 83 95 … … 89 101 */ 90 102 function wp_deregister_script( $handle ) { 91 103 global $wp_scripts; 104 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 105 if ( ! did_action( 'init' ) ) 106 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 107 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 108 $wp_scripts = new WP_Scripts(); 109 } 92 110 93 wp_scripts_init();94 95 111 $wp_scripts->remove( $handle ); 96 112 } 97 113 … … 105 121 */ 106 122 function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) { 107 123 global $wp_scripts; 124 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 125 if ( ! did_action( 'init' ) ) 126 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 127 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 128 $wp_scripts = new WP_Scripts(); 129 } 108 130 109 wp_scripts_init();110 111 131 if ( $src ) { 112 132 $_handle = explode('?', $handle); 113 133 $wp_scripts->add( $_handle[0], $src, $deps, $ver ); … … 125 145 */ 126 146 function wp_dequeue_script( $handle ) { 127 147 global $wp_scripts; 148 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 149 if ( ! did_action( 'init' ) ) 150 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 151 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 152 $wp_scripts = new WP_Scripts(); 153 } 128 154 129 wp_scripts_init();130 131 155 $wp_scripts->dequeue( $handle ); 132 156 } 133 157 … … 145 169 */ 146 170 function wp_script_is( $handle, $list = 'queue' ) { 147 171 global $wp_scripts; 172 if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) { 173 if ( ! did_action( 'init' ) ) 174 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 175 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 176 $wp_scripts = new WP_Scripts(); 177 } 148 178 149 wp_scripts_init();150 151 179 $query = $wp_scripts->query( $handle, $list ); 152 180 153 181 if ( is_object( $query ) ) … … 155 183 156 184 return $query; 157 185 } 158 159 /**160 * Initializes $wp_scripts global (if it hasn't already been initialized by a faulty plugin or theme).161 *162 * @since 3.3163 */164 function wp_scripts_init() {165 global $wp_scripts;166 static $done = false;167 168 if ( !$done && !is_a($wp_scripts, 'WP_Scripts') ) {169 if ( !did_action('after_setup_theme') ) // last action before init170 _doing_it_wrong( __FUNCTION__, __( '$wp_scripts should not be accessed before the "init" hook.' ), '3.3' );171 172 $wp_scripts = new WP_Scripts();173 $done = true;174 }175 }176 -
wp-includes/functions.wp-styles.php
23 23 $handles = false; 24 24 25 25 global $wp_styles; 26 if ( !is_a($wp_styles, 'WP_Styles') ) { 26 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 27 if ( ! did_action( 'init' ) ) 28 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 29 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 30 27 31 if ( !$handles ) 28 32 return array(); // No need to instantiate if nothing is there. 29 33 else … … 46 50 */ 47 51 function wp_add_inline_style( $handle, $data ) { 48 52 global $wp_styles; 49 if ( !is_a($wp_styles, 'WP_Styles') ) 50 return false; 53 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 54 if ( ! did_action( 'init' ) ) 55 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 56 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 57 $wp_styles = new WP_Styles(); 58 } 51 59 52 60 return $wp_styles->add_inline_style( $handle, $data ); 53 61 } … … 70 78 */ 71 79 function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) { 72 80 global $wp_styles; 81 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 82 if ( ! did_action( 'init' ) ) 83 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 84 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 85 $wp_styles = new WP_Styles(); 86 } 73 87 74 wp_styles_init();75 76 88 $wp_styles->add( $handle, $src, $deps, $ver, $media ); 77 89 } 78 90 … … 87 99 */ 88 100 function wp_deregister_style( $handle ) { 89 101 global $wp_styles; 102 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 103 if ( ! did_action( 'init' ) ) 104 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 105 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 106 $wp_styles = new WP_Styles(); 107 } 90 108 91 wp_styles_init();92 93 109 $wp_styles->remove( $handle ); 94 110 } 95 111 … … 114 130 */ 115 131 function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) { 116 132 global $wp_styles; 133 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 134 if ( ! did_action( 'init' ) ) 135 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 136 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 137 $wp_styles = new WP_Styles(); 138 } 117 139 118 wp_styles_init();119 120 140 if ( $src ) { 121 141 $_handle = explode('?', $handle); 122 142 $wp_styles->add( $_handle[0], $src, $deps, $ver, $media ); … … 132 152 */ 133 153 function wp_dequeue_style( $handle ) { 134 154 global $wp_styles; 155 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 156 if ( ! did_action( 'init' ) ) 157 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 158 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 159 $wp_styles = new WP_Styles(); 160 } 135 161 136 wp_styles_init();137 138 162 $wp_styles->dequeue( $handle ); 139 163 } 140 164 … … 152 176 */ 153 177 function wp_style_is( $handle, $list = 'queue' ) { 154 178 global $wp_styles; 179 if ( ! is_a( $wp_styles, 'WP_Styles' ) ) { 180 if ( ! did_action( 'init' ) ) 181 _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ), 182 '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' ); 183 $wp_styles = new WP_Styles(); 184 } 155 185 156 wp_styles_init();157 158 186 $query = $wp_styles->query( $handle, $list ); 159 187 160 188 if ( is_object( $query ) ) … … 162 190 163 191 return $query; 164 192 } 165 166 /**167 * Initializes $wp_styles global (if it hasn't already been initialized by a faulty plugin or theme).168 *169 * @since 3.3170 */171 function wp_styles_init() {172 global $wp_styles;173 static $done = false;174 175 if ( !$done && !is_a($wp_styles, 'WP_Styles') ) {176 if ( !did_action('after_setup_theme') )177 _doing_it_wrong( __FUNCTION__, __( '$wp_styles should not be accessed before the "init" hook.' ), '3.3' );178 179 $wp_styles = new WP_Styles();180 $done = true;181 }182 }183