将定制器选项复制到子主题

时间:2017-08-25 作者:user1438038

我正在使用OceanWP主题,并使用WordPress定制器功能对其进行定制。然后,我基于OceanWP创建了一个子主题,因为我引入了一些新的短代码,不想改变基本主题。不幸的是,当我切换主题时,我的所有定制都丢失了。

我知道定制存储在WordPress选项表中。我发现theme_mods_ocean 并将内容复制到theme_mods_myChildTheme. 我可以存储更改,但只要重新加载日志,数据库条目就会恢复为其初始值。

这怎么可能?是否有其他保存和恢复自定义的位置?如果可能的话,我不想重新配置整个子主题。

3 个回复
SO网友:Ben HartLenn

在尝试之前,一定要先备份数据库。

我刚测试过改变option_name 一组自定义程序更改以匹配不同的主题,我们似乎可以通过更改option\\u名称以匹配新主题,而不是复制option\\u值序列化数据,使自定义程序更改切换到另一个主题。我手头没有一个儿童主题来测试这个,但前提是一样的。

首先,使用您喜爱的DB编辑器查找theme_mods_myChildTheme 在选项表中,将option\\u name更改为类似于theme\\u mods\\u myChildTheme-backup的内容,然后如果需要,可以轻松切换回该选项。

下一步查找选项theme_mods_ocean, 并将选项\\u name编辑为theme_mods_myChildTheme.

最后,访问子主题中的外观>>自定义页面,您应该会看到父主题中的所有自定义选项值现在都设置在那里。请记住,这意味着不再为其他主题设置这些值。

SO网友:Fabio Marzocca

这是Customizer与子主题相比的弱点。所有自定义项选项都存储在db中,它们将与原始主题一起使用。如果切换到另一个主题(即您的子主题),则选项仍将绑定到原始主题。

作为一种选择,您应该深入研究原始主题的选项表theme\\u mods的内容,并尝试将其“翻译”为您的孩子风格。css(尽可能)

SO网友:wlarcheveque

我能够使用这个插件导出和导入定制器设置:Customizer export/import(版本0.9.1 |由Beaver Builder团队提供)。https://en-ca.wordpress.org/plugins/customizer-export-import/

它工作起来很有魅力,比数据库操作方法更安全。

结束