我有个问题。我试图使一个主题与另一个主题兼容。例如,如果您将此主题命名为“旧主题”,并将其更改为“新主题”,则来自customizer的选项也将保留在“新主题”中。如果我在外观->主题中切换主题,一切都会很好。当我从customizer切换主题时,问题来了。我使用的是这样的东西(假设我想导入一个文本控件):
function import_settings{
$old_theme_content = get_option(\'theme_mods_my_old_theme\');
if( !empty($old_theme_content[\'my_text_control\']) ){
set_theme_mod(\'my_new_control\', $old_theme_content[\'my_text_control\']);
}
}
add_action( \'after_switch_theme\',\'import_settings\');
当我从customizer切换主题时,我必须关闭customizer,最终删除变更集,然后我可以从导入中看到这些更改。我希望在从自定义预览中切换主题后,可以在自定义预览中看到更改。“after\\u switch\\u theme”钩子似乎不会触发。有人知道如何做到这一点吗?