The ‘print_scripts_array’ filter in WordPress allows you to modify the list of script dependencies that are left to be printed on a page.
Usage
To use the print_scripts_array filter, you need to add a custom function to your WordPress theme or plugin and hook it to the filter using the add_filter() function.
add_filter( 'print_scripts_array', 'your_custom_function_name' );
function your_custom_function_name( $to_do ) {
// Your custom code here
return $to_do;
}
Parameters
- $to_do (string[]) – An array of script dependency handles.
Examples
Remove a specific script
add_filter( 'print_scripts_array', 'remove_specific_script' );
function remove_specific_script( $to_do ) {
// Remove 'jquery' from the array
$to_do = array_diff( $to_do, array( 'jquery' ) );
return $to_do;
}
This code snippet removes the ‘jquery’ script from the list of dependencies to be printed.
Add a custom script before another script
add_filter( 'print_scripts_array', 'add_custom_script_before' );
function add_custom_script_before( $to_do ) {
// Add custom script before 'jquery'
array_splice( $to_do, array_search( 'jquery', $to_do ), 0, 'custom-script' );
return $to_do;
}
This code snippet inserts a custom script called ‘custom-script’ right before the ‘jquery’ script in the list of dependencies to be printed.
Reorder scripts
add_filter( 'print_scripts_array', 'reorder_scripts' );
function reorder_scripts( $to_do ) {
// Move 'custom-script' to the end of the array
$to_do = array_diff( $to_do, array( 'custom-script' ) );
$to_do[] = 'custom-script';
return $to_do;
}
This code snippet moves the ‘custom-script’ to the end of the list of dependencies to be printed.
Remove all scripts except a specific one
add_filter( 'print_scripts_array', 'keep_specific_script_only' );
function keep_specific_script_only( $to_do ) {
// Keep only 'jquery' in the array
$to_do = array_intersect( $to_do, array( 'jquery' ) );
return $to_do;
}
This code snippet removes all scripts from the list of dependencies to be printed, except for the ‘jquery’ script.
Exclude scripts on specific pages
add_filter( 'print_scripts_array', 'exclude_scripts_on_specific_pages' );
function exclude_scripts_on_specific_pages( $to_do ) {
// Exclude 'custom-script' on the 'about' page
if ( is_page( 'about' ) ) {
$to_do = array_diff( $to_do, array( 'custom-script' ) );
}
return $to_do;
}
This code snippet excludes the ‘custom-script’ from the list of dependencies to be printed only on the ‘about’ page.