如何在更新Genesis子主题后保留我的自定义主题更改

时间:2012-09-08 作者:Radi

我正在使用Genesis子主题,我想对其进行一些自定义更改,但希望能够在新版本发布时进行更新,而不会丢失我的编辑。我对亲子实践很熟悉,但既然我的主题已经是《创世纪》中的一个孩子,那么最好的方法是什么呢?

首先,我尝试创建一个父子主题,但不仅部分标记不同,而且我还丢失了父子主题中的所有小部件部分
-创建了一个具有样式的新目录。css并具有以下代码:

/*
Theme Name: parent-child-child
Template: genesis
*/
@import url("../parent-child/style.css");)
接下来,我将所有文件(functions.php、Template files、other…我只保留了第一次尝试时的style.css)从父-子主题复制到父-子主题,并且成功了,但我担心来自函数的代码。php将被加载两次,因此会减慢我的网站速度,甚至在某个时候崩溃。

处理这个问题的正确方法是什么
谢谢,
拉迪

3 个回复
最合适的回答,由SO网友:Dan Knauss 整理而成

《创世纪》(以及其他类似的作品)一直存在一个问题,即在如何应对其儿童主题的更新方面缺乏共识。一个简单的传统答案是,你应该很少或永远不要更新它们,因为这可能是一个非常耗时的过程,以避免破坏东西。StudioPress不再自动更新子主题,因此您必须尽力跟踪更新,获取更新,并将更改合并到现有子主题中。如果您通过git回购来实现这一点,那么您就可以非常简单、很好地自动化和管理它。但即使你这样做了,为什么要把事情变得比必要的更困难呢?

我的建议:

不要试图a grandchild theme. 没有人建议这样做

在子主题之外的其他CSS中进行所有自定义。如果您愿意,可以将其添加到定制程序中,只需小心备份或锁定您不想接触的人。

在原始插件或snippets.Simple Hooks 和Simple Edits.如果您在父/子主题之间切换,您的小部件和自定义设置将不会在它们之间进行切换。为此,您需要使用导入/导出插件。

如果您正在制作自己的创世纪之子:

不要在CSS中使用@import

  • use the enqueue method to include styles. 本教程介绍了2017年的核心主题。

    不复制父主题的functions.php 或模板文件。如果同一个函数加载两次,就会立即抛出一个大错误。

    修改父主题的functions.php 在您的孩子中添加其他代码functions.php. 这在“使用functions.php“结尾处的节this excellent article. 这也是对coding a child theme 今天

  • SO网友:Anh Tran

    据我所知,目前版本的WordPress中没有孙儿主题。目前还不支持,但我听说WordPress将在未来的版本中提供支持。

    因此,如果您直接对子主题进行更改并升级,则所有更改都将消失。要保留更改,可以执行以下操作:

    重复智利主题。复制所有内容,而不仅仅是功能。php文件

  • 更改新的子主题
    • 每当您的原始子主题更新时,您应该查看其更改日志,扫描文件以查找更改并将其应用于新的子主题。

    SO网友:dnaatwork.com

    理论上;

    我也一直在关注这个问题。到目前为止,我知道您可以创建一个插件,然后用插件中的自定义页面覆盖主题中的某个页面,使用主题模板名称。不幸的是,我找不到使用插件目录添加一个插件的方法。

    希望这一点有帮助。

    结束

    相关推荐

    如何在更新Genesis子主题后保留我的自定义主题更改 - 小码农CODE - 行之有效找到问题解决它

    如何在更新Genesis子主题后保留我的自定义主题更改

    时间:2012-09-08 作者:Radi

    我正在使用Genesis子主题,我想对其进行一些自定义更改,但希望能够在新版本发布时进行更新,而不会丢失我的编辑。我对亲子实践很熟悉,但既然我的主题已经是《创世纪》中的一个孩子,那么最好的方法是什么呢?

    首先,我尝试创建一个父子主题,但不仅部分标记不同,而且我还丢失了父子主题中的所有小部件部分
    -创建了一个具有样式的新目录。css并具有以下代码:

    /*
    Theme Name: parent-child-child
    Template: genesis
    */
    @import url("../parent-child/style.css");)
    
    接下来,我将所有文件(functions.php、Template files、other…我只保留了第一次尝试时的style.css)从父-子主题复制到父-子主题,并且成功了,但我担心来自函数的代码。php将被加载两次,因此会减慢我的网站速度,甚至在某个时候崩溃。

    处理这个问题的正确方法是什么
    谢谢,
    拉迪

    3 个回复
    最合适的回答,由SO网友:Dan Knauss 整理而成

    《创世纪》(以及其他类似的作品)一直存在一个问题,即在如何应对其儿童主题的更新方面缺乏共识。一个简单的传统答案是,你应该很少或永远不要更新它们,因为这可能是一个非常耗时的过程,以避免破坏东西。StudioPress不再自动更新子主题,因此您必须尽力跟踪更新,获取更新,并将更改合并到现有子主题中。如果您通过git回购来实现这一点,那么您就可以非常简单、很好地自动化和管理它。但即使你这样做了,为什么要把事情变得比必要的更困难呢?

    我的建议:

    不要试图a grandchild theme. 没有人建议这样做

    在子主题之外的其他CSS中进行所有自定义。如果您愿意,可以将其添加到定制程序中,只需小心备份或锁定您不想接触的人。

    在原始插件或snippets.Simple Hooks 和Simple Edits.如果您在父/子主题之间切换,您的小部件和自定义设置将不会在它们之间进行切换。为此,您需要使用导入/导出插件。

    如果您正在制作自己的创世纪之子:

    不要在CSS中使用@import

  • use the enqueue method to include styles. 本教程介绍了2017年的核心主题。

    不复制父主题的functions.php 或模板文件。如果同一个函数加载两次,就会立即抛出一个大错误。

    修改父主题的functions.php 在您的孩子中添加其他代码functions.php. 这在“使用functions.php“结尾处的节this excellent article. 这也是对coding a child theme 今天

  • SO网友:Anh Tran

    据我所知,目前版本的WordPress中没有孙儿主题。目前还不支持,但我听说WordPress将在未来的版本中提供支持。

    因此,如果您直接对子主题进行更改并升级,则所有更改都将消失。要保留更改,可以执行以下操作:

    重复智利主题。复制所有内容,而不仅仅是功能。php文件

  • 更改新的子主题
    • 每当您的原始子主题更新时,您应该查看其更改日志,扫描文件以查找更改并将其应用于新的子主题。

    SO网友:dnaatwork.com

    理论上;

    我也一直在关注这个问题。到目前为止,我知道您可以创建一个插件,然后用插件中的自定义页面覆盖主题中的某个页面,使用主题模板名称。不幸的是,我找不到使用插件目录添加一个插件的方法。

    希望这一点有帮助。

    相关推荐

    Child-theme breaks site

    所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c