Podría hacer algo como lo que incluyen los temas secundarios de Genesis para guardar la configuración predeterminada del tema al activar y cambiar temas:
//* Theme Setting Defaults
add_filter( 'genesis_theme_settings_defaults', 'child_theme_defaults' );
function child_theme_defaults( $defaults ) {
$defaults['blog_cat_num'] = 6;
$defaults['content_archive'] = 'full';
$defaults['content_archive_limit'] = 150;
$defaults['content_archive_thumbnail'] = 0;
$defaults['image_alignment'] = '';
$defaults['image_size'] = 'entry-image';
$defaults['posts_nav'] = 'prev-next';
$defaults['site_layout'] = 'full-width-content';
return $defaults;
}
//* Theme Setup
add_action( 'after_switch_theme', 'child_theme_setting_defaults' );
function child_theme_setting_defaults() {
if( function_exists( 'genesis_update_settings' ) ) {
genesis_update_settings( array(
'blog_cat_num' => 6,
'content_archive' => 'full',
'content_archive_limit' => 150,
'content_archive_thumbnail' => 0,
'image_alignment' => '',
'image_size' => 'entry-image',
'posts_nav' => 'prev-next',
'site_layout' => 'full-width-content',
) );
} else {
_genesis_update_settings( array(
'blog_cat_num' => 6,
'content_archive' => 'full',
'content_archive_limit' => 150,
'content_archive_thumbnail' => 0,
'image_alignment' => '',
'image_size' => 'entry-image',
'posts_nav' => 'prev-next',
'site_layout' => 'full-width-content',
) );
Claramente, necesitaría modificar este código para trabajar con la funcionalidad de sus temas.