Support » Theme: Twenty Twelve » Setting default header image in child theme

  • Resolved Ruude4s


    Twenty Twelve by default doesn’t have a header image specified. For a child theme, I need to set a default header image. I’ve tried overriding the custom header functionality, but wasn’t able to find a durable solution.

    I tried copying the /inc/custom-header.php to the child theme’s folder, and customize it there, but the child theme just kept using the parent theme’s custom-header file.

    My current solution is to replace line 83 of the parents functions.php
    require( get_template_directory() . '/inc/custom-header.php' );
    require( get_stylesheet_directory() . '/inc/custom-header.php' );
    This does the trick, however, I will need to make the change everytime Twenty Twelve gets updated.

    Anyone has a solution that can withstand an update to the parent theme?

Viewing 15 replies - 16 through 30 (of 31 total)
  • Here we go, paulwp…

    I only built its box, so any questions folks might have will come to you!

    Many thanks.

    I trying to remove the custom header completely but for some reason

    ‘remove_action( ‘after_setup_theme’, ‘twentytwelve_custom_header_setup’ );’

    doesn’t work!?

    can someone help 🙂

    @dan77 – if you need help, please start your own thread.

    @leejosepho, I tried to load the plugin mentioned here by following the link supplied, unfortunately the directory has no record of your plug in.

    Andrew Nevins


    WCLDN 2018 Contributor | Volunteer support

    If you need further support than that provided in this thread, you can create your own thread.



    Hi there,

    Will preface this by saying I am not a coder – however, I am trying to create a child theme – (it is after the fact though). I have gone through the process outlined above and still cannot be a header image in my twenty twelve child theme. Can anyone help?

    Andrew Nevins


    WCLDN 2018 Contributor | Volunteer support

    @c.devlin, you can discuss that in your own thread.


    I should have looked here much earlier – it would have saved me an awful lot of time…

    Many thanks for your simplified function for the child theme – it works beautifully!

    Cheers! 🙂

    I’m not a very experienced coder but I seem to have found a simpler solution.

    First, I uploaded the desired banner image into an image directory within the child theme as instructed a little further up.

    Then, in the child header in this group of coding:

    <?php $header_image = get_header_image();
    		if ( ! empty( $header_image ) ) : ?>
    			<a>"><strong><img src="<?php echo esc_url( $header_image ); ?>" </strong>class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" /></a>
    		<?php endif; ?>
    . . .  change the bolded code (also show below)
    <strong><img src="<?php echo esc_url( $header_image ); ?>"</strong>

    . . . and change it to resemble something like this

    <img src="<?php echo esc_url( get_stylesheet_directory_uri() . '/images/desiredbanner2013.jpg' ); ?>"

    This seems to have changed the header image in the specific template where I wanted it and preserved the full functionality of the header.

    So far!!

    Sorry for the misplaced bolding.

    @amalux: your solution is fine when you only need one header image for the whole site. But when using this, the custom header functionality of the theme won’t work anymore.

    I think you wold be right if this is done to the default header.php file. I did this to a custom header file placed in child theme attached to as specific template.

    So far, both header files seem to be working fine on either header without disturbing the functionality of either.

    If I am wrong please show me as I would not want it to compromise my own site.

    If you do it like that, than yes, it won’t hurt the functionality. It is, however, a solution for a different problem than the one that was discussed here.

    The only disadvantage of your solution that I can think of is that, if you need to make a change to header.php file, you need to make it to the custom header file as well. (Also, any update to the WordPress theme that changes the header.php file, you will have to add manually to your custom header file, but this counts for every child theme version of header.php).

    To use different custom headers on different pages, you could also use a plugin like WP Display Header.

    Thanks Rudd Evers, Sorry if I posted in the wrong thread. But, this is where I got the idea for what I finally did. I don’t know much php so I have to follow what others are doing then interpolate and intuit without doing damage to the code.

    Thanks again for confirming what I did.

Viewing 15 replies - 16 through 30 (of 31 total)
  • The topic ‘Setting default header image in child theme’ is closed to new replies.