Title: Add Custom Header Images
Author: Andy Fragen
Published: <strong>May 18, 2014</strong>
Last modified: April 3, 2025

---

Search plugins

![](https://ps.w.org/add-custom-header-images/assets/banner-772x250.png?rev=2560195)

![](https://s.w.org/plugins/geopattern-icon/add-custom-header-images_f5f5f5.svg)

# Add Custom Header Images

 By [Andy Fragen](https://profiles.wordpress.org/afragen/)

[Download](https://downloads.wordpress.org/plugin/add-custom-header-images.2.3.5.zip)

 * [Details](https://test.wordpress.org/plugins/add-custom-header-images/#description)
 * [Reviews](https://test.wordpress.org/plugins/add-custom-header-images/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/add-custom-header-images/#installation)
 * [Development](https://test.wordpress.org/plugins/add-custom-header-images/#developers)

 [Support](https://wordpress.org/support/plugin/add-custom-header-images/)

## Description

Remove default header images and load custom header images from ‘The Headers’ page.
Allows for easy selection of random header images in your theme.

A plugin that should be able to remove default headers for a theme and add custom
headers based upon the article written by [Julio Biason](http://juliobiason.net/2011/10/25/twentyeleven-with-easy-rotating-header-images/)
who was inspired by [wpti.ps](http://wpti.ps/?p=107).

Create a Page named **The Headers**. Then upload header images (media files) to 
the the page. The page may have a visibility of private. All images displayed on
the page will be parsed, those attached to the page and those added via image blocks.

Once the custom header images are loaded, just go to `Appearance > Header` or `Customize
> Header Image` and select `Randomize suggested headers`.

The plugin will display an error notice if there is **not** a page titled, **The
Headers**.

## Installation

 1. Create a new page. It can be private. It must be titled `The Headers`. Add any 
    images that you want to use as custom header images to this page. Header images
    should be cropped appropriately for the base theme.
 2. Upload `add-custom-header-images` directory to the `/wp-content/plugins/` directory
 3. Activate the plugin through the ‘Plugins’ menu in WordPress
 4. Go to `Appearance > Header` or `Customize > Header Image` and select `Randomize`
    from the Default Images section.

## Reviews

![](https://secure.gravatar.com/avatar/27dbd36e2d28d7f772c51b5b31fb13baa406ea9d680563a51cd6d17bc17ae5ad?
s=60&d=retro&r=g)

### 󠀁[After spending 10 hours trying to modify my header, this plugin finally did it!](https://wordpress.org/support/topic/after-spending-10-hours-trying-to-modify-my-header-this-plugin-finally-did-it/)󠁿

 [mehlmanmedical](https://profiles.wordpress.org/theforwardmale/) February 8, 2020

I have zero code experience. I spent probably 6-10 hours over several days trying
to figure out how to reduce the height of my header (i.e., make it slimmer, but 
keep width the same) using CSS code. I had absolutely zero interest in messing with
the theme editor because I’ve had my fair share of scares where I’ve almost crashed
my site. Despite all of the supposed solutions out there, nothing was working. I
even tried the Elementor plugins, and those didn’t work either. Then this one finally
worked. Best part, once again, is that you can *change the height* of your header
to make it slimmer if you want. So now my pages don’t have the large rectangular
header image anymore. Only downside is I can’t customize based on the page. I originally
wanted to keep the home page the same but make all other pages’ header slimmer, 
but this plugin will change the header on all pages. But I have to give it 5 stars
because, as I said, it’s the only thing that’s worked for me. Nothing else has been
able to make my header image slimmer. Thanks again,

![](https://secure.gravatar.com/avatar/8cd5624cdcc0dfb70e56aa0b3c1ac2d47a44ac05c1428cd90431b55bbbe77bad?
s=60&d=retro&r=g)

### 󠀁[Great, except default 2011 header images show up.](https://wordpress.org/support/topic/great-except-default-2011-header-images-show-up/)󠁿

 [Jake Sterling](https://profiles.wordpress.org/jake-sterling/) September 3, 2016
4 replies

I am using Add Custom Header Images with the WordPress Twenty Eleven theme. It works
great except that there seems to be a bug. The Twenty Eleven theme comes with a 
number of default header images that show up along with the images I had uploaded
to the “The Headers” page for the plugin to use. I did a hack to fix this using 
a tip from Voodoo Press: http://voodoopress.com/adding-and-removing-default-headers-
in-twentyeleven/ // REMOVE SOME DEFAULT HEADERS function voodoo_header_out() { unregister_default_headers(
array( 'wheel', 'shore', 'trolley') ); } add_action( 'after_setup_theme', 'voodoo_header_out',
11 ); If you do this, be aware that the array of default images in the example is
incomplete. You will have to add the rest of them.

![](https://secure.gravatar.com/avatar/71049f7c6b9c2fb44b9e53d21dca80ac1a393632ff9783f3488be3e05c3709a8?
s=60&d=retro&r=g)

### 󠀁[Very easy and simple plugin](https://wordpress.org/support/topic/very-easy-and-simple-plugin/)󠁿

 [ilanfl](https://profiles.wordpress.org/ilanfl/) September 3, 2016 1 reply

Does what I needed

 [ Read all 4 reviews ](https://wordpress.org/support/plugin/add-custom-header-images/reviews/)

## Contributors & Developers

“Add Custom Header Images” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Andy Fragen ](https://profiles.wordpress.org/afragen/)

“Add Custom Header Images” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/add-custom-header-images/contributors)
for their contributions.

[Translate “Add Custom Header Images” into your language.](https://translate.wordpress.org/projects/wp-plugins/add-custom-header-images)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/add-custom-header-images/),
check out the [SVN repository](https://plugins.svn.wordpress.org/add-custom-header-images/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/add-custom-header-images/)
by [RSS](https://plugins.trac.wordpress.org/log/add-custom-header-images/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.3.5 / 2025-04-03

 * add GA to generate POT
 * change startup action hook to `after_setup_theme` for translations

#### 2.3.4 / 2024-11-01

 * remove `load_plugin_textdomain()`

#### 2.3.3 / 2023-07-21

 * use ‘all’ over ‘any’ in query, perhaps better
 * call `wp_get_attachment_image()` to populate specific attributes

#### 2.3.2 / 2023-02-08

 * improve WP_Query for single call

#### 2.3.1 / 2023-02-08

 * fix to use public or private pages

#### 2.3.0 / 2023-02-05

 * PHP 8.1 compatibility changes
 * update for deprecated `get_page_by_title()`
 * start from `plugins_loaded`

#### 2.2.0 / 2023-01-13

 * update GitHub Actions
 * update to add alt text to header image

#### 2.1.0 / 2021-07-07

 * add @10up GitHub Actions for SVN

#### 2.0.3 / 2020-08-01

 * add check for PHP warning

#### 2.0.2 / 2020-03-28

 * initialize some variables

#### 2.0.1 / 2020-03-03

 * add header image support to theme if none exists
 * parse images from page blocks
 * refactor class methods

#### 1.9.0

 * always load `after_theme_setup` filter

#### 1.8.1

 * correctly initialize `load_plugin_textdomain()`

#### 1.8.0

 * simplify admin notice
 * WPCS compliant
 * fixed to use `wp_get_attachment_url()`, thanks @poulh

#### 1.7.0

 * use WP_Query instead of `get_children()`
 * only load `after_theme_setup` hook on front end

#### 1.6.1

 * update _Tested to_
 * simplify conditional

#### 1.6.0

 * don’t run from constructor
 * requires PHP 5.3, sorta

#### 1.5.2

 * use class variables to hold title and page data to reduce number of calls to 
   database

#### 1.5.1

 * set `after_theme_setup` hook to use later priority to ensure $_wp_default_headers
   is set, fixes removal of default images

#### 1.5.0

 * removed specific srcset code as it was unnecessary and caused failures. `srcset`
   needs to be set correctly in `header.php`

#### 1.4.2

 * fixed malformed closing `strong` tag in error message

#### 1.4.1

 * escape translations of page name

#### 1.4.0

 * added srcset for responsive image sizes
 * tested and updated for WP 4.4.0

#### 1.3.3

 * tested to 4.3

#### 1.3.2

 * load textdomain early so translations work.

#### 1.3.1

 * fix readme.txt as plugin name generic
 * simplify warning, remove nested if statements
 * update .pot

#### 1.3.0

 * better i18n strings, updated POT

#### 1.2.0

 * move `remove_default_header_images` to run only if **The Headers** page is present.
   Should fix a PHP Notice too.

#### 1.1.0

 * remove `deactivate_plugins` to and just display an error notice for better compatibility.

#### 1.0.4

 * added some error checking

#### 1.0.3

 * more graceful exit and return

#### 1.0.2

 * exit after deactivating plugin when not able to be activated

#### 1.0.1

 * Add .pot files
 * Fix short description by removing Markdown

#### 1.0.0

 * Initial commit to WordPress repository

## Meta

 *  Version **2.3.5**
 *  Last updated **1 year ago**
 *  Active installations **400+**
 *  WordPress version ** 5.2 or higher **
 *  Tested up to **6.8.5**
 *  PHP version ** 5.6 or higher **
 *  Languages
 * [Chinese (Taiwan)](https://tw.wordpress.org/plugins/add-custom-header-images/)
   and [English (US)](https://wordpress.org/plugins/add-custom-header-images/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/add-custom-header-images)
 * Tags
 * [headers](https://test.wordpress.org/plugins/tags/headers/)[images](https://test.wordpress.org/plugins/tags/images/)
 *  [Advanced View](https://test.wordpress.org/plugins/add-custom-header-images/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/add-custom-header-images/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/add-custom-header-images/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/add-custom-header-images/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/add-custom-header-images/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/add-custom-header-images/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/add-custom-header-images/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/add-custom-header-images/reviews/)

## Contributors

 *   [ Andy Fragen ](https://profiles.wordpress.org/afragen/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/add-custom-header-images/)