我有一个电子商务网站的页眉和页脚使用拖放构建器建立。当我将父主题转换为子主题时,拖放的所有自定义操作都会丢失。有什么方法可以在不丢失父主题定制的情况下加载子主题?
发布于 2018-07-25 10:15:37
好的,所以据我所知,这个问题取决于你开始的父主题是如何被编程的。我碰巧遇到了WP二十一七主题的这个问题,我可能希望它能更好地处理theme_mods_选项。
无论如何,Sunil列出的其中一个链接有一个由Laura Kohan撰写的帖子,其中标识了几个数据库条目,这些条目包含了与子主题相关的所有定制器选项。在我的例子中,我使用Twenty17主题作为父主题,并且我只能识别出一个与情况相关的数据库条目,并且似乎存储子主题的相关数据,这就是数据库的wp_options表中的theme_mods_twentyseventeen_child选项。我注意到theme_mods_twentyseventeen选项以长数组的形式包含来自父对象的所有定制,因此我决定将该数组复制到子对象的字段中。当然,在用父数据覆盖它之前,将子theme_mods_选项保存在文本文件或其他地方是明智的,但对我来说,获得我想要的定制就这么简单……
对于那些不知道如何访问数据库的人来说,注意!像这样更改数据通常不是一个好主意。您必须非常小心,因为通常情况下,一些数据库条目会引用其他条目,这可能会变得非常混乱。实际上,此条目引用了custom_css_post_id,如果您想保留来自子ID的值或使用来自父ID的值,则可能需要仔细考虑其他一些条目……但是为了给你指引正确的方向,大多数虚拟主机服务都会在面板中为你提供PHPMyAdmin,从那里你可以查看你的数据库,并从那里找到名为wp_options的表,在其中你会找到相关的条目/选项。和Laura的情况一样,其他主题可能有其他额外的条目需要考虑,所以也要小心。
我认为可能有一种更好的方法来指导WP在子functions.php文件中使用一组特定的"mod“选项,但到目前为止我还没有看到一个很好的例子。(1)引用父mod选项,(2)引用特定于子mod选项,以及(3)将父mod复制到子mod。( GreenShady在Sunil的帖子中的另一个链接中有一些代码,看起来可以进行复制,但我无法让它工作,也许其他人可以提供更好的示例。)
不管怎样,祝你好运...
https://stackoverflow.com/questions/47827483
复制相似问题