Unique Headers



The Unique Headers Plugin adds a custom header image box to the post/page edit screen. You can use this to upload a unique header image for that post, or use another image from your WordPress media library. When you view that page on the front-end of your site, the default header image for your site will be replaced by the unique header you selected.

This functionality also works with categories and tags.


You must use a theme which utilizes the built-in custom header functionality of WordPress. If your theme implement it’s own header functionality, then this plugin will not work with it.

Paid WordPress development

If you would like to pay for assistance, additional features to be added to the plugin or are just looking for general WordPress development services, please contact me via my contact form.


  • The new meta box as added to the posts/pages screen
  • The custom header image uploader for adding new header images
  • The new meta box for categories and tags.


After you’ve downloaded and extracted the files:

  1. Upload the complete ‘unique-headers’ folder to the ‘/wp-content/plugins/’ directory OR install via the plugin installer
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. And yer done!

Now you will see a new custom header image uploader whilst editing posts, pages, tags or categories on your site.

Visit the Unique Headers Plugin for more information.


I upgraded to WordPress 4.4 and the taxonomy meta plugin broke. What should I do?

Older versions of WordPress required the taxonomy meta data plugin to add support for categories and tags. However, that functionality was rolled into the core of WordPress 4.4 and the old plugin stopped working with no upgrade path. You can simply delete the plugin, and your site will behave as normal, but the old header images for categories and tags will be missing. To work around this problem, please follow the instructions in this helpful support thread for that plugin. Please note that I am not connected with the taxonomy meta data plugin and can not provide any assistance with it.

I set a category header image, but why are my individual posts not showing that header image?

Setting a category (or other taxonomy) header image, only causes that header image to show on the category page itself. It does not make the header image show on the single posts of that category.

To add this functionality, please install the Unique Headers single posts extension plugin.

Your plugin doesn’t work

Actually, it does work 😉 The problem is likely with your theme. Some themes have “custom headers”, but don’t use the built-in WordPress custom header system and will not work with the Unique Headers plugin because of this. It is not possible to predict how other custom header systems work, and so those can not be supported by this plugin. To test if this is the problem, simply switch to one of the default themes which come with WordPress and see if the plugin works with those, if it does, then your theme is at fault.

My theme doesn’t work with your plugin, how do I fix it?

This is a complex question and not something I can teach in a short FAQ. I recommend hiring a professional WordPress developer for assistance, or asking the developer of your theme to add support for the built-in WordPress custom header system.

Does it work with custom post-types?

Yes, as of version 1.5, support for publicly viewable custom post-types was added by default.

Does it work with taxonomies?

Yes, as of version 1.5 of the Unique Headers plugin and version 4.4 of WordPress, support for all publicly viewable custom taxonomies was added by default.

Where’s the plugin settings page?

There isn’t one.

Other plugins work out the width and height of the header and serve the correct sized header. Why doesn’t your plugin do that?

I prefer to allow you to set the width and height yourself by opening a correct sized image. This allows you to provide over-resolution images to cater for “retina screen” and zoomed in users. Plus, it allows you to control the compression and image quality yourself. Neither route is better in my opinion. If you require this functionality, please let me know though, as if most people prefer the other route, then I may change how the plugin works. I suspect most people won’t care either way though.

Does it work in older versions of WordPress?

Mostly, but I only actively support the latest version of WordPress. Support for older versions is purely by accident. Versions prior to 4.4 will definitely not work with categories and tags.

I need custom functionality. Can we pay you to build it for us?

Yes. Just send me a message via my contact form with precise information about what you require.


অক্টোবৰ 26, 2023 1 reply
works perfectly. the shortcodes could be better
অক্টোবৰ 22, 2022 3 replies
Why isn’t it part of default? It took me a month to make a bunch of header images and put them in all my old posts. It was awesome! No sarcasm. This made my posts so much better.
জুন 10, 2021
The plugin does technically do its job of allowing a unique header per page. However, it offers absolutely no guidelines on how your base image should be in terms of size or aspect ratio, and no cropping or positioning tools, leaving you to trial and error to try and get an image that actually shows up correctly with your theme. It’s very frustrating and time consuming, but does look good once finished.
Read all 160 reviews

Contributors & Developers

“Unique Headers” is open source software. The following people have contributed to this plugin.


“Unique Headers” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “Unique Headers” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fixed a bug in the DotOrg_Plugin_Review() class. The switch to === broke the no debug check, so this has been fixed.


  • Fixed a bug in the nonce system for taxonomy terms.


  • Temporarily preventing the DotOrg_Plugin_Review() class from loading due to a bug report relating to it. It will be re-added later.


  • Updated WordPress coding standards support


  • Confirmed support for newer WordPress versions
  • Added Composer support


  • Bug fix for when array value doesn’t exist


  • Bug fix for offset value error


  • Bug fix for “WP_Scripts::localize was called” notice


  • Bug fix for when no object set in Unique_Headers_Taxonomy_Header_Images::modify_header_image_data()


  • Version bump to force dot org update


  • Correctly checking for presence of object before setting width and height


  • Checking for presence of object before setting width and height


  • Fixing filter bug


  • Fixing filter bug


  • Fixing bug in taxonomy setup


  • Fixing bug in taxonomy setup


  • Fixing bug in taxonomy setup


  • Bug fix for srcset with taxonomies
  • Changed to class autoloader
  • Moved instantiation class to it’s own file
  • Added extendible core class


  • Bug fix for custom taxonomies


  • Bug fix to make srcset work correctly on regular header images


  • Added support for srcset.
  • Confirmed support for TwentySixteen theme.


  • Added checks in file to see if WordPress is loaded.
  • Hooking class instantiation in later, due to taxonomies sometimes not being loaded in time.


  • Removed admin notice from everywhere but the plugins page.


  • Fixing flawed bug fix from version 1.5.2.


  • Fixing bug reported by multiple users, which caused PHP errors on some setups.


  • Overhauled outdated FAQ section of readme.


  • Introduced unlimited taxonomy support.
  • When using a blog page set to a static page URL, the image from the static pages custom header will be used.
  • Adding support for all publicly viewable post-types.
  • Adding support for all publicly viewable taxonomies.


  • Fixing a bug triggered by WordPress assigning non-URL’s as the URL.

= 1.4.7
* Setting a more sane plugin review time.


  • Fixing bug with handling taxonomies. Added plugin review notice back, but without the non-existent MONTH_IN_SECONDS constant.


  • Removing plugin review notice due to unsolvable errors.


  • Adding plugin review class back, with correct time stamp set.


  • Temporarily removing plugin review class until bugs are fixed.


  • Adding a plugin review class.


  • Instantiating the plugin later (allows for adding additional post-types in themes).


  • Adding backwards compatibility to maintain header images provided by the Taxonomy metadata plugin.


  • Added French language translation.


  • Moved instantiation and localization code into a class.


  • Added Deutsch (German) language translation.


  • Fixing error which caused header images to disappear on upgrading (data was still available just not accessed correctly).


  • Modification translation system to work with changes on WordPress.org.


  • Addition of Spanish translation.


  • Adjustment to match post meta key to other plugins, for compatibilty reasons.


  • Total rewrite to use custom built in system for media uploads. Also adapted taxonomies to use ID’s and added support for extra post-types and taxonomies.


  • Converted to use the class from the Multiple Featured Images plugin.


  • Added support for tags.


  • Added support for displaying a category specific image on the single post pages.


  • Correction for $new_url for categories.


  • Bug fix to allow default header to display when no category specified.


  • Bug fixes for post/page thumbnails.


  • Initial release.


Thanks to the following for help with the development of this plugin:
* redactuk – Assistance with debugging.
crabsallover – Assitance with debugging.
Todd – Assistance with implementing support for tags.
* Mariano J. Ponce – Spanish translation.
* Tobias Klotz – Deutsch (German) language translation.
* Nadia Tokerud – Proof-reading of Norsk Bokmål (Norwegian) translation.
* Bjørn Johansen – Proof-reading of Norwegian Bokmål translation.
* Karl Olofsson – Proof-reading of Swedish translation.
* Jenny Beaumont – French translation.