When building a WordPress child theme, it’s important for it to, at least initially, pick-up the settings from the parent theme.
Here’s something that works to allow your child theme to, on activation, retrieve the parent’s theme options:
add_action( 'after_switch_theme', 'themeprefix_switch_theme_update_mods' );
function themeprefix_switch_theme_update_mods() {
if ( is_child_theme() && false === get_theme_mods() ) {
$mods = get_option( 'theme_mods_' . get_option( 'template' ) );
if ( false !== $mods ) {
foreach ( $mods as $mod => $value ) {
if ( 'sidebars_widgets' !== $mod )//Leave out the sidebars
set_theme_mod( $mod, $value );
}
}
}
}
Note that there’s still an unresolved WordPress ticket to have this feature added to core: WordPress Ticket #27177
Code credit: @greenshady
