A version of this plugin exists for WordPress 3+ only. You may want to use that unless you are running WordPress 1.5
Style-sheets are great and have completely transformed the web. WordPress is great too, and also happens to make extensive use of style-sheets, as do the many plugins and hacks that are available for it. This leads to a small problem: any plugin that requires style-sheet definitions must have them added to the main WordPress style-sheet. This is not a good thing for several reasons:
- It’s bad design to have a plugin modifying the main theme
- If you change theme, you need to make the changes all over again (if you can remember what they were)
- If you delete the theme then you have a lot of styles you don’t need any more.
I initially created a basic style-sheet plugin to solve the problem, but this soon evolved into a general purpose
head manager –
head referring to a special section of an HTML document that provides the meta-data to describe style-sheets, keywords, and an assortment of other goodies.
Reasons for using the plugin
At its most basic, the plugin allows you to add any HTML
head elements to:
- Individual posts
- Posts written by a specific users
- Posts belonging to certain categories
Why would you want to do any of that? Well, there are many reasons. The most simple is that you might want posts from different categories to appear with different styles, or maybe a post written by the administrator is in one style while posts from normal users get another.
The plugin should support the One-click format of the WP-Plugin-Mgr plugin. If installing manually then:
- Copy headspace.php to your
- Activate plugin
You can find full details of installing a plugin on the plugin installation page.
There must be a call to
wp_head () somewhere in your theme’s
header.php code. This is included in the default and classic themes provided with WordPress, and is likely to also occur in most themes you download. If the plugin does not work then check this first.
Using the plugin
Once the plugin is activated it is configured on a post-by-post basis by adding any of the following custom field data:
||Inserts an HTML
||Add meta keywords, to be picked up by search engines. Keywords are separated with commas:
||Add a meta description, sometimes used by search engines.|
||Add a style-sheet. The format of this is:
||Add any generic meta data. The format of this is:
||Add raw data. This data will simply be inserted into the
The plugin makes use of special ‘wildcards’. These are tags that are replaced with dynamic data taken from the current post:
%%nickname%%– insert the nickname of the author
%%useremail%%– insert the email of the author
%%userid%%– insert the user ID of the author
%%categoryNid%%– insert the Nth category ID of the post (start at 1)
%%categoryNdesc%%– insert the Nth category description of the post (start at 1)
%%categoryNname%%– insert the Nth category name of the post (start at 1)
%%title%%– insert the title of the post
%%date%%– insert the date the post was created
%%modifed%%– insert the date the post was modified
%%excerpt%%– insert the post excerpt
%%id%%– insert the post’s database ID
%%gid%%– insert the relative URL to the post
Any number of wildcards can exist within a single keyword.
Add an extra style-sheet
head_style = link /wp-content/styles/example/extrastyle.css
Add a style-sheet that changes depending on who authored the post
head_style = link /wp-content/styles/users/%%nickname%%/extrastyle.css
Add keywords to the post
head_keywords = eggs,sandwiches,%%title%%
Add a description to the post
head_description = %%excerpt%%
Adding custom data
To add custom data to posts, and so get the plugin to work, you need to:
- Enable ‘Advanced Editing’
- Either press the ‘Advanced Editing’ button on the post
- Or enable Advanced Editing by default in the Options / Writing section of the administration screen
- Add a new custom field with a keyword being one of the above, and the value being your chosen value
The keywords should not be entered into the post itself.
Global meta data
A new feature is the ability to have a list of globally applied meta-data. That is, meta-data that is applied to every post regardless of whether it is defined in the post custom data. This would be useful to define site-wide styles and descriptions.
The global meta-data is a text file located at
wp-content/plugins/headspace_global.txt. It is a simple list of keyword and value, one per line separated with a return. All keywords and data follow the same syntax and rules as described above:
head_title This post was updated at %%modified%% head_description %%excerpt%% head_style /wp-content/styles/%%nickname%%/style.css
Post-plugin research shows that Dougal Campbell wrote the plugin HeadMeta, which does a similar job to this one. The moral of the story: research before writing!