[wp-trac] [WordPress Trac] #32557: programming error found inside wp_print_scripts function (wp-includes/functions.wp-scripts.php)
WordPress Trac
noreply at wordpress.org
Wed Jun 3 01:12:34 UTC 2015
#32557: programming error found inside wp_print_scripts function (wp-
includes/functions.wp-scripts.php)
--------------------------+-----------------------------
Reporter: seeyouu | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: 4.2.2
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
Dear Sir/Mdm,
I'd recently installed a slider plugin called Slider WD
[http://52.74.232.138/WordPress/wp-admin/plugin-install.php?tab=plugin-
information&plugin=slider-wd&TB_iframe=true&width=600&height=550] into my
wordpress version 4.2.2, and i found a problem which i can't add image
into my slider.
Once clicked "Add Image" button, it will show that Fatal error occured at
wp-includes/functions.wp-scripts.php line 85, do_items is referred to a
non-object.
I did further study about the script and i found that probably a
programming error under wp_print_scripts function which caused this issue.
Below are the comparison of the same function under different version
version 4.2.2:
function wp_print_scripts( $handles = false ) {
/**
* Fires before scripts in the $handles queue are printed.
*
* @since 2.1.0
*/
do_action( 'wp_print_scripts' );
if ( '' === $handles ) { // for wp_head
$handles = false;
}
_wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
global $wp_scripts;
if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
if ( ! $handles ) {
return array(); // No need to instantiate if
nothing is there.
}
}
return wp_scripts()->do_items( $handles );
}
Version 4.0.2:
function wp_print_scripts( $handles = false ) {
/**
* Fires before scripts in the $handles queue are printed.
*
* @since 2.1.0
*/
do_action( 'wp_print_scripts' );
if ( '' === $handles ) // for wp_head
$handles = false;
global $wp_scripts;
if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __(
'Scripts and styles should not be registered or enqueued until the %1$s,
%2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>',
'<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>'
), '3.3' );
if ( !$handles )
return array(); // No need to instantiate if
nothing is there.
else
$wp_scripts = new WP_Scripts();
}
return $wp_scripts->do_items( $handles );
}
under the condition if ( !$handles ), there's an else statement
$wp_scripts = new WP_Scripts(); in version 4.0.2, however, version 4.2.2,
this statement is missing.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/32557>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list