I released a plugin that creates a shortcode and requires a JavaScript file and a CSS file to load on any page that contains that shortcode. I could just make the script/style load on all pages, but that's not the best practice. I only want to load the files on pages that call the shortcode. I've found two methods of doing this, but both have problems. [Method 1](http://scribu.net/wordpress/optimal-script-loading.html) sets a flag to true inside the shortcode handler function, and then checks that value inside a `wp_footer` callback. If it's true, it uses `wp_print_scripts()` to load the JavaScript. The problem with this is that it only works for JavaScript and not CSS, because CSS should be declared inside `<head>`, which you can only do during an early hook like `init` or `wp_head`. [Method 2](http://beerpla.net/2010/01/13/wordpress-plugin-development-how-to-include-css-and-javascript-conditionally-and-only-when-needed-by-the-posts/) fires early and "peeks ahead" to see if the shortcode exists in the current page content. I like this method much better than the first, but the problem with it it won't detect if the template calls `do_shortcode()`. So, I'm leaning towards using the second method and then trying to detect if a template is assigned, and if so, parse it for the shortcode. Before I do that, though, I wanted to check if anyone knows of a better method. **NOTE:** Any acceptable solution needs to follow best practices, which means that all CSS has to go inside `<head>`, and `wp_enqueue_script()`/`wp_enqueue_style()` are used to load files. I already know there are methods that get around this by implementing bad practices, but I'm not interested in those. **Please don't answer/comment if your solution doesn't meet that critera.** **Update:** I've integrated this into my code. If anyone is curious to see it in a live environment you can [download it](http://wordpress.org/extend/plugins/basic-google-maps-placemarks) or [browse it](http://plugins.svn.wordpress.org/basic-google-maps-placemarks/tags/).