Improving the WordPress Generator

For WordPress v2.4 I have introduced some changes to the way in which all of the generator tags present in the output from WordPress are generated.

The generator tags/comments were previously hard coded in the following items: Theme’s header.php, all of the feed generation files, the export generation process. I have now centralised the generation process into three functions in wp-includes/general-template.php: get_the_generator, the_generator and wp_generator. The new functions provide an array of filters to enable you to modify the generator output or remove it completely if you so wish. The standard WordPress xhtml generator tag is now generated on the wp_head hook rather than needing to be hard coded into the themes files – this does mean that themes with a generator tag in them will now have two but it does reduce the number of things a theme author need to remember to include in the theme files.

For example, if you are creating a HTML theme rather than an XHTML theme then you will want to add the following to your themes functions.php file which will ensure that the default generator tag output by WordPress on the wp_head hook is the HTML one:

function i_want_html_generator()
{
return 'html';
}
add_filter('wp_generator_type','i_want_html_generator');

Another use of the newly available filters is, for example, to enable you to hide the fact that your site is running WordPress or to mask the version of WordPress that you are running. In order to do this the new functions have a variety of filters available. As we have already seen there is a filter to enable you to determine the type of generator output in your theme, the other filters available are: the_generator, get_the_generator_$type where $type is the name of the specific generator type you want to filter/hide. You can hide all of the generators on your blog with one simple plugin containing the following code:

function i_want_no_generators()
{
return '';
}
add_filter('the_generator','i_want_no_generators');

If you want to read more about the reasons behind these changes then please see the related trac tickets, #4803 and #5085, or read the code itself in the changeset [6195].

Living on the edge

I’m proud to announce that this site is now “living on the edge” – I finally found the time to write a Tag Importer for Bunny’s Technorati Tags which will hopefully make it into the final WordPress 2.3 release (if not the next Beta version).

Well it was about time to start running the my own code.

One of the new features that really sticks out after upgrade is the Plugin update notification – it lets you know when updates to plugins which are downloadable from http://wordpress.org/extend/plugins/ are available and includes a link to the plugin entry for you to download the update.