将父主题自定义移动到子主题中

时间:2017-12-15 07:14:25

标签: wordpress

我使用拖放构建器构建了一个电子商务网站的页眉和页脚。当我将父主题转移到子主题时,拖放的所有自定义都将丢失。有什么方法可以加载子主题而不会丢失父主题自定义?

2 个答案:

答案 0 :(得分:1)

不幸的是,问题是每个主题将其数据分别保存在同一个表的父行或子行的不同行中。 WordPress将它们视为一个主题。所以,你必须再次重新创建子主题。你可以更快地完成它,因为你知道做了哪些修改。

了解更多信息。

希望这会对你有所帮助。

答案 1 :(得分:0)

好的,据我了解,这个问题取决于您开始时使用的父主题的编程方式。我碰巧遇到了WP 27主题的问题,我可能希望它可以更好地处理theme_mods_选项。

无论如何,Sunil列出的链接中有一个Laura Kohan撰写的帖子,它标识了几个数据库条目,这些条目包含与子主题相关的所有定制器选项。在我的情况下,我将二十十七个主题用作父主题,并且只能识别一个与情况相关并且似乎存储有关子主题的数据的数据库条目,这就是 theme_mods_twentyseventeen_child <数据库的wp_options表中的/ strong>选项。我注意到 theme_mods_twentyseventeen 选项以长数组的形式包含了来自父级的所有自定义项,因此我只是决定将该数组复制到孩子的字段中。当然,将子theme_mods_选项保存在文本文件中或其他位置之前,再用父数据覆盖它,这是很明智的选择,但是对我来说,获得所需的自定义设置就这么简单……

对于那些不知道如何访问数据库的人,请注意,像这样更改数据通常不是一个好主意。您必须非常小心,因为某些数据库条目经常会引用其他条目,并且它可能会变得非常混乱。实际上,此条目引用了custom_css_post_id,并且可能还会引用其他一些条目,如果您希望保留子ID的值或使用父ID的值,则可能需要仔细考虑...但是为了指出正确的方向,大多数网络托管服务将在面板中为您提供PHPMyAdmin,从那里您可以查看数据库,然后从那里找到名为wp_options的表,您将在其中找到相关的条目/选项。就像劳拉的情况一样,其他主题可能还有其他一些条目需要考虑,因此也要格外小心。

我认为可能有一种更好的方法来指导WP在子functions.php文件中使用特定的“ mod”选项集,但是到目前为止,我还没有看到一个很好的例子。很高兴看到一些示例,这些示例包括:(1)引用父mod选项,(2)引用特定于孩子的mod选项,以及(3)将父mod复制到子mod。 (SunShail帖子中GreenShady的另一个链接包含一些看起来像可以复制的代码,但我无法使其正常工作,也许其他人可以提供更好的示例。)

无论如何,祝你好运...