Scripts To Footer

Scripts To Footer

This small plugin moves scripts to the footer. Note that this only works if you have plugins and a theme that utilizes wp_enqueue_scripts correctly.

You can disable the plugin on specific pages and posts directly via the post/page edit screen metabox.

You can disable the plugin on specific archive pages (blog page, search page, post type and taxonomy archives) via the settings page.

Everything Broken? Try placing jQuery back into the header via Settings > Scripts to Footer, “Keep jQuery in the Header” checkbox. If that doesn’t work, refer to the walkthrough below for using the stf_exclude_scripts filter for the script that is causing the issue.

Check out the documentation on GitHub or some quick walkthroughs below.

Keeping specific Scripts in the Header

As of version 0.6 you can now keep specific scripts in the header. Note: this will print any scripts they depend on as well (if you want to keep jquery-effects-core in the header, you’ll also get jQuery in the header, so no need to add both).

Specifically for jQuery, see the settings page option, as it is a common request we’ve built it into the settings.

For any other scripts, use this filter:

add_filter( 'stf_exclude_scripts', 'jdn_header_scripts', 10, 1 );
function jdn_header_scripts( $scripts ) {

    $scripts[] = 'backbone'; // Replace 'backbone' with the script slug

    return $scripts;
}

You will need the correct script slug, which is used when the script is registered, and the script will only be printed into the header if it’s enqueued. Check out the scripts that come registered out-of-the-box with WordPress.

Note: As of version 0.6.3, conditional tags will work with the stf_exclude_scripts filter.

Custom Post Type Support

If you’re comfortable with code you can use the scripts_to_footer_post_types filter to change the post types this applies to (it only applies to pages and posts by default). For example, if you have a custom post type called “project” you could add support for this metabox via the post type filter like this:

function stf_add_cpt_support( $post_types ) {

    $post_types[] = 'project';

    return $post_types;
}
add_filter( 'scripts_to_footer_post_types', 'stf_add_cpt_support' );

Excluding Pages/Posts/Templates Via Filter

You can either use the checkbox option to disable the plugin’s action on a specific page/post, or you can utilize a filter. The filter also passes the post/page id, if there is one (archive templates don’t have ids!).

For example, for the “page” post type:

function stf_exclude_my_page( $exclude_page, $post_id ) {

    if ( is_front_page() ) {
        $exclude_page = 'on'; // this turns on the "exclude" option
    }

    return $exclude_page;
}
add_filter( 'stf_page', 'stf_exclude_my_page' );

Replace stf_page with stf_post for posts, or the slug of your custom post type. For instance, a post type called “project” can be filtered with stf_project.

More Documentation

See the plugin’s wiki.

Development / Contributing

View this plugin on GitHub.

Support

Please feel free to open a Github Issue to report conflicts or goto the WP.org support forum. If there is something wrong with Scripts-to-Footer, we’ll update it. However, if it’s a another plugin or theme we can only contact the developer with the issue to attempt to resolve it.

This section describes how to install the plugin and get it working.

e.g.

  1. Upload scripts-to-footer.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. You can disable the plugin on specific pages or posts via a checkbox.

سوالات متداول

My scripts are not moving to the footer.

This is likely due to one of three things:
– The theme you’re using is not enqueuing scripts per WordPress standards.
– You have a plugin that is not enqueuing scripts per standards.
– (Less common) There is a conflict with this plugin and another one. Deactivate all plugins and revert to a built-in theme (like TwentyTwelve or TwentyFifteen). Then activate Scripts-to-Footer. Check your HTML source to confirm it’s working. If so, proceed to activate each of your other plugins one at a time, checking your HTML source each time to see if the scripts behavior changes. Eventually you’ll find a conflict, if not with the plugins then activate your theme and check.

Everything Breaks!!

There are lots of scripts that require things like jQuery in the header. Try checking the “Keep jQuery in the header” option in Settings > Scripts to Footer or using the stf_exclude_scripts filter noted in the documentation (Note: only for version 0.6 and higher).

My Slider stopped working

See number “Everything Breaks!!” above. Try checking the “Keep jQuery in the header” option in Settings > Scripts to Footer or using the stf_exclude_scripts filter noted in the documentation

My Page Speed hasn’t improved (or it’s worse)

This plugin should not change your actual page speed – the same scripts are being loaded, that takes the same amount of time. However, by placing scripts in the footer you can change the precieved load times, moving render-blocking scripts below the fold, allowing your content to load first – instead of loading scripts and slowing the visual portions of your site. That’s the whole point. Outside of that, this plugin is not intended to increase page load speed or minify scripts in anyway.

×
نظری برای این آیتم موجود نیست.
0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
نسخه حجم فایل SHA256 تغییرات دانلود
0.7.3 47 کیلوبایت -
دانلود
×
★★★★★
★★★★★
4.7 /5 (37 نظر)

قیمت:

رایگان

نگارش

0.7.3

آخرین انتشار

11 اردیبهشت 1405

آخرین بروزرسانی

4 ماه پیش

نصب های فعال

7,000+

نگارش وردپرس

وردپرس 5.3+

تست شده از نسخه

وردپرس 6.8.5

نگارش PHP

PHP 7.4+

نسخه ها

1 نسخه