Once again I’d like to thank Kostis Vasiliadis for the amazing graphics and support
I’d like to thanks the below sites for promoting/mentioning my theme. Thank you all!
- wpMail (theme releases)
- WordPress.org.cn forum
- WP Themes XL
- Simple Themes
- Connect www.com
- Web Resources (entry no.10)
WordPress provides two useful functions to help you keep the head section on your header.php template file clean. The wp_enqueue_style will help you load your styles and the wp_enqueue_script will help you load your scripts. Both take the same parameters (name, source, dependencies, version, media – only for wp_enqueue_style – and in_footer – only for wp_enqueue_script) and the official WordPress documentation explains everything in great detail. Below I’ll demonstrate a simple way to use them, the same way it works on my latest free WordPress theme, Ambrosia.
These two functions “live” into the functions.php file. So let’s load the styles first. We only have to create an include function (for example ambrosia_load_styles()) that will load all the files using one or multiple wp_enqueue_style functions. To be more specific, we’ll only load styles in our wordpress theme and not at the admin area (!is_admin()). Then an action hook will run the include function (ambrosia_load_styles()), just before the header.php template file is loaded. It’s simpler than it sounds, have a look at the below code.
It’s much more simple to load script files. We only include our scripts using the wp_enqueue_script function (again excluding the admin area).
Unfortunately, wp_enqueue_style and wp_enqueue_script functions don’t support any conditional comment mechanism, so if you have Internet Explorer (IE) only styles and scripts, you have to include them manually to your header.php file.
That’s all you need to know, so next time you’re building a theme, keep your header.php file clean by doing all the dirty work into the functions.php file!
The default WordPress installation has some messy code in it’s “head” section. There’s too much useless meta data and noise that can cause issues, and even lead to security vulnerabilities, like the “generator” tag that informs the world the Wordrpress version you are running. You can clean up the mess by removing the bellow actions (copy and paste the below code to your theme’s functions.php file).
For some reason WordPress’s theme reviewers didn’t allow me to include the above code on Ambrosia theme, so feel free to include it.
In case you missed it, this blog “wears” a new theme called Ambrosia. Ambrosia is my second theme contribution on WordPress.org and is free for everyone, under the GPL 2 license. Ambrosia is easy to install and customize, supports the new wordpress custom menus and comes with 4 different widget areas! For more information on the theme, it’s features and customization options, please have a look at the official theme’s page.
I will also start a series of “how was Ambrosia built” with more in-depth information and interesting wordpress code.
Until the next post, take care, download the theme (it’s free after all), and spread the word.