WordPress.org

Plugin Directory

!This plugin hasn't been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

WP Autoload

Automatically load per-template JavaScript, CSS, and PHP files.

How do I use this in my theme?

WP Autoload looks for files in the same way WordPress looks for templates, but it also loads 'parent' files. Say your theme looks like this:

themes/
  foobar/
    css/
      archive.css
      page.css
      page-bar.css
    inc/
      page.php
      page-bar.php
    js/
      archive.js
      page.js
      page-bar.js

For an archive page, WP Autoload will load:

  • css/archive.css
  • js/archive.js

No surprises there.

For a normal page, WP Autoload will load:

  • css/page.css
  • inc/page.php
  • js/page.js

WP Autoload will then try to create a new WP_Autoload_page object. The class must extend WP_Autoload_Template, e.g.:

class WP_Autoload_page extends WP_Autoload_Template
{
  ...
}

For a page with a slug of bar, WP Autoload will load:

  • page.css and page-bar.css, with page.css as a dependency of page-bar.css
  • page.php and page-bar.php, in that order
  • page.js and page-bar.js, with page.js as a dependency of page-bar.js

WP Autoload will then try to create a new WP_Autoload_page_bar object; because page.php is loaded first you can do this:

class WP_Autoload_page_bar extends WP_Autoload_page
{
  ...
}

What about performance?

For templates where there is no specific stylesheet or script file the performance implications of WP Autoload are negligible. For templates with both a specific stylesheet and script file WP Autoload will add two requests to the overall page load sequence. Typically these extra requests have no significant impact on page load time because they are offset by the reduced size of the common stylesheet.

Requires: 3.2.0 or higher
Compatible up to: 3.4.2
Last Updated: 2012-9-22
Active Installs: Less than 10

Ratings

0 out of 5 stars

Support

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.