Keep header when switching theme

Im trying to make a plugin that will keep the header after switching theme. So far i have come up with this:


add_action(‘pre_update_option_theme_mods_’ . get_option( ‘stylesheet’ ), save_header_image_as_option);

add_action(‘switch_theme’, ‘keep_header’:wink:;

error_log(“stylesheet ” . get_option( ‘stylesheet’ ),0);

error_log(“prevous header ” . get_option( ‘previous_header_image_saved’ ),0);

function save_header_image_as_option()


$details_before = get_theme_mods($blog_id);

update_option(“previous_header_image_saved”, get_theme_mod(‘header_image’:wink:);

error_log(“before theme change” . json_encode($details_before), 0);

return $details_before;


function keep_header()


$details_after = get_theme_mods($blog_id);

set_theme_mod(‘header_image’, get_option(“previous_header_image_saved”:wink:);

error_log(“after theme change” . json_encode($details_after), 0);

return $details_after;



Sadly this breaks the ability to change the header and the header is not kept when switching themes. Any suggestions ?