WP has a nice javascript loader included in wp-admin:
http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-scripts.php
and a CSS loader:
http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-styles.php
I was wondering if it’s possible to use them in the front-end too, not just admin, because they can concatenate all enqueued scripts, and serve them as a single gzipped file
late answer
From a brief look:
You’d have to use
include( admin_url().'load-scripts.php' );
include( admin_url().'script-loader.php' );
Then jump into
$GLOBALS['wp_scripts']
:Use…
…to extend it.
And then use
to add a script.
Notes:
.dev.js
(whenSCRIPT_DEBUG
isTRUE
).$wp_styles
..js
for “dev” versions and “.min.js” when (SCRIPT_DEBUG
isTRUE
);(But I guess this will only work if you use a plugin or mu-plugin.)
It´s not tested and I´m not shure if this will work.
This is a very good question and would be a great feature for WordPress to include.
Some of the other answers don’t address the main question.
No it’s not currently possible to use the built in script loader to Concatenate css and scripts for the front end.
There was a discussion about this on WP Hackers a few years ago and there is a trac ticket for this enhancement that has been accepted but for a future release.
If you need to enqueue a CSS file on the front end:
1) Register the style via wp_register_style( $handle, $src )
2) Hook wp_enqueue_style( $handle ) into the wp_print_styles hook.
If you need to enqueue a script on the front end:
1) Register the style via wp_register_script( $handle, $src )
2) Hook wp_enqueue_script( $handle ) into the wp_head hook.
(Note: I would have expected the wp_print_styles hook for this, but this hook apparently does not work as expected.)
I have a few scripts you may wish to look at.
1. Combine.php
– On a number of my themes I have implemented this script. It supports similar functionality and can be dropped into your template folder and worked with relatively easily.
2. WP Minify
– This plugin supports minifying and is very easily to work with.
3. W3 Total Cache
– is a very powerful performance plugin. It also supports script/css combination as well as a large number of other features e.g. off loading the combined scripts to a CDN.