[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:17:54 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 | Resolution:
Keywords: | Focuses:
--------------------------+------------------------------
Comment (by seeyouu):
Sorry, copied a wrong like for Slider WD, here's the correct one:
https://wordpress.org/plugins/slider-wd/
Replying to [ticket:32557 seeyouu]:
> 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#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list