Clarification: My default header image will not RE-display (by clicking suggested image) after it has been removed using theme customizer "Hide Image" option.


I added theme support for Custom Header Image

// Add Theme Support for Custom Header Image
add_theme_support( 'custom-header', 
    array(
        'default-image' =&gt; get_template_directory_uri() . '/assets/img/hdr_earth.jpg',
        'default-text-color' =&gt; '#e2f0d6',
        'header-text' =&gt; true,
        'uploads' =&gt; true,
        'width' =&gt; 1140,
        'height' =&gt; 200,
        'wp-head-callback' =&gt; 'wpfw_style_header',
    )
);

Inside the Theme Customizer I see the (default) image displayed as:


The "Current Header" box, and 
In the "Suggested" box

I deleted the current header image by clicking the "Hide Image" button.


And this is where the problem started 

When I attempt to re-add the default image by clicking on the "Suggested" (i.e. default) image...


The image is displayed in the customizer window.
But the image will not save, so the image does not display on the web page.


A var_dump( get_header_image() ); returned false, so after reading the function in the core, I see this if ( 'remove-header' == $url ) return false;. 

So a var_dump( get_theme_mods() ) does indeed show 'header_image' =&gt; string 'remove-header' (length=13). 

???

... now this is after I added the default image back and saved.

What am I missing?

The entire script (custom-header.php)

    if ( ! function_exists( 'wpfw_custom_header' ) ) {
        function wpfw_custom_header() {
            // Add theme Support for Custom Backgrounds
            add_theme_support( 'custom-background',
                array(
                    'default-color' =&gt; '#e2f0d6',
                    'default-image' =&gt; get_template_directory_uri() . '/assets/img/bgp-128x180.jpg',
                )
            );

            // Add Theme Support for Custom Header Image
            add_theme_support( 'custom-header', 
                array(
                    'default-image'             =&gt; get_template_directory_uri() . '/assets/img/hdr_earth.jpg',
                    'default-text-color'    =&gt; '#e2f0d6',
                    'header-text'                   =&gt; true,
                    'uploads'                       =&gt; true,
                    'width'               =&gt; 1140,
                    'height'              =&gt; 200,
                    'wp-head-callback'      =&gt; 'wpfw_style_header',
                )
            );
        } // end wpfw_custom_header()
    } // end if 

    // Hook into the 'after_setup_theme' action
    add_action( 'after_setup_theme', 'wpfw_custom_header', 11 );

    /**
     * ---------------------------------------------- 
     * Callback function for updating header styles
     * ----------------------------------------------
     */

    if ( ! function_exists( 'wpfw_style_header' ) ) {
        function wpfw_style_header() {
          $text_color = get_header_textcolor();
          ?&gt;  
          &lt;style type="text/css" id="wpfw-custom-header-styles"&gt;
              .site-title a.site-title-link {
                color: #&lt;?php echo esc_attr( $text_color ); ?&gt;;
              }

              &lt;?php if ( display_header_text() != true ) : ?&gt;
                  .site-title {
                    display: none;
              } 
              &lt;?php endif; ?&gt; 
          &lt;/style&gt;
          &lt;?php 
        } // end wpfw_style_header()
    } // end if...



Question: Do I need to pay income taxes for the money I earn online from a foreign website?
Answer: Yes, you do.

Depending on your country's laws and regulations, since you're not an employee but a self employed, you're likely to be required to file some kind of a tax return with your country's tax authority, and pay the income taxes on the money you earn.

You'll have to tell us more about the situation, at least let us know what country you're in, for more information.