Add Custom Header Images
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 who was inspired by wpti.ps.
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
- 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. - Upload
add-custom-header-imagesdirectory to the/wp-content/plugins/directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to
Appearance > HeaderorCustomize > Header Imageand selectRandomizefrom the Default Images section.
Reviews
After spending 10 hours trying to modify my header, this plugin finally did it!
By mehlmanmedical (theforwardmale) on February 8, 2020
Great, except default 2011 header images show up.
By Jake Sterling on September 3, 2016
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.
Very easy and simple plugin
By ilanfl on September 3, 2016
Does what I needed
Changelog
2.3.5 / 2025-04-03
- add GA to generate POT
- change startup action hook to
after_setup_themefor 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_setupfilter
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_setuphook 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_setuphook 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.
srcsetneeds to be set correctly inheader.php
1.4.2
- fixed malformed closing
strongtag 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_imagesto run only if The Headers page is present. Should fix a PHP Notice too.
1.1.0
- remove
deactivate_pluginsto 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