The ‘print_footer_scripts’ filter allows you to control whether footer scripts are printed on your WordPress site or not.
Usage
To use this filter, add the following code to your theme’s functions.php file:
add_filter( 'print_footer_scripts', 'your_function_name' );
function your_function_name( $print ) {
// Your code here
return $print;
}
Parameters
$print(bool): Whether to print the footer scripts. Default istrue.
Examples
Disable Footer Scripts on a Specific Page
add_filter( 'print_footer_scripts', 'disable_scripts_on_page' );
function disable_scripts_on_page( $print ) {
if ( is_page( 'no-scripts' ) ) {
return false;
}
return $print;
}
This code disables the printing of footer scripts on a page with the slug ‘no-scripts’.
Disable Footer Scripts for Non-Logged-in Users
add_filter( 'print_footer_scripts', 'disable_scripts_for_guests' );
function disable_scripts_for_guests( $print ) {
if ( ! is_user_logged_in() ) {
return false;
}
return $print;
}
This code disables the printing of footer scripts for users who are not logged in.
Disable Footer Scripts on Mobile Devices
add_filter( 'print_footer_scripts', 'disable_scripts_on_mobile' );
function disable_scripts_on_mobile( $print ) {
if ( wp_is_mobile() ) {
return false;
}
return $print;
}
This code disables the printing of footer scripts on mobile devices.
Disable Footer Scripts for Posts in a Specific Category
add_filter( 'print_footer_scripts', 'disable_scripts_in_category' );
function disable_scripts_in_category( $print ) {
if ( is_single() && has_category( 'no-scripts' ) ) {
return false;
}
return $print;
}
This code disables the printing of footer scripts for posts in the ‘no-scripts’ category.
Disable Footer Scripts on Custom Post Type Archives
add_filter( 'print_footer_scripts', 'disable_scripts_on_cpt_archive' );
function disable_scripts_on_cpt_archive( $print ) {
if ( is_post_type_archive( 'your_custom_post_type' ) ) {
return false;
}
return $print;
}
This code disables the printing of footer scripts on the archive pages for the custom post type ‘your_custom_post_type’.