The get_header_image WordPress PHP filter allows you to modify the header image URL.
Usage
add_filter('get_header_image', 'your_custom_function'); function your_custom_function($url) { // your custom code here return $url; }
Parameters
- $url (string): Header image URL to be filtered.
More information
See WordPress Developer Resources: get_header_image
Examples
Change header image for specific pages
Change the header image URL for a specific page or pages using their IDs.
add_filter('get_header_image', 'change_header_image_for_specific_pages'); function change_header_image_for_specific_pages($url) { if (is_page(array(10, 25))) { // Replace with your specific page IDs $url = 'https://example.com/new-header-image.jpg'; // Replace with your new header image URL } return $url; }
Change header image based on post type
Change the header image URL for a specific custom post type.
add_filter('get_header_image', 'change_header_image_for_custom_post_type'); function change_header_image_for_custom_post_type($url) { if (is_singular('your_post_type')) { // Replace 'your_post_type' with your custom post type $url = 'https://example.com/new-header-image.jpg'; // Replace with your new header image URL } return $url; }
Change header image for logged-in users
Change the header image URL for logged-in users only.
add_filter('get_header_image', 'change_header_image_for_logged_in_users'); function change_header_image_for_logged_in_users($url) { if (is_user_logged_in()) { $url = 'https://example.com/new-header-image.jpg'; // Replace with your new header image URL } return $url; }
Change header image based on the day of the week
Display a different header image URL based on the day of the week.
add_filter('get_header_image', 'change_header_image_based_on_day'); function change_header_image_based_on_day($url) { $day = date('w'); // Get the current day of the week (0 for Sunday, 1 for Monday, etc.) if ($day == 1) { // Change header image for Mondays $url = 'https://example.com/monday-header-image.jpg'; // Replace with your new header image URL for Monday } return $url; }
Change header image randomly
Display a random header image from an array of image URLs.
add_filter('get_header_image', 'change_header_image_randomly'); function change_header_image_randomly($url) { $images = array( 'https://example.com/header-image-1.jpg', 'https://example.com/header-image-2.jpg', 'https://example.com/header-image-3.jpg' ); $random_image = $images[array_rand($images)]; $url = $random_image; return $url; }