Skip to content

Commit

Permalink
Do not allow accidental or negligent deregistering of critical script…
Browse files Browse the repository at this point in the history
…s in the admin. (Defined for now as jQuery and jQuery UI.) Show minimal remorse if the correct hook is used. see #22896.

git-svn-id: http://core.svn.wordpress.org/trunk@23378 1a063a9b-81f0-0310-95a4-ce76da25c4cd
nacin committed Feb 2, 2013
1 parent dcb5731 commit d2338ef
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions wp-includes/functions.wp-scripts.php
Original file line number Diff line number Diff line change
@@ -111,6 +111,25 @@ function wp_deregister_script( $handle ) {
$wp_scripts = new WP_Scripts();
}

// Do not allow accidental or negligent deregistering of critical scripts in the admin. Show minimal remorse if the correct hook is used.
if ( is_admin() && 'admin_enqueue_scripts' !== current_filter() ) {
$no = array(
'jquery', 'jquery-core', 'jquery-migrate', 'jquery-ui-core', 'jquery-ui-accordion',
'jquery-ui-autocomplete', 'jquery-ui-button', 'jquery-ui-datepicker', 'jquery-ui-dialog',
'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-menu', 'jquery-ui-mouse',
'jquery-ui-position', 'jquery-ui-progressbar', 'jquery-ui-resizable', 'jquery-ui-selectable',
'jquery-ui-slider', 'jquery-ui-sortable', 'jquery-ui-spinner', 'jquery-ui-tabs',
'jquery-ui-tooltip', 'jquery-ui-widget',
);

if ( in_array( $handle, $no ) ) {
$message = sprintf( 'Do not deregister the %1$s script in the administration area. To target the frontend theme, use the %2$s hook.',
"<code>$handle</code>", '<code>wp_enqueue_scripts</code>' );
_doing_it_wrong( __FUNCTION__, $message, '3.6' );
return;
}
}

$wp_scripts->remove( $handle );
}

0 comments on commit d2338ef

Please sign in to comment.