我根据WordPress Twenty12主题制作了一个子主题(即WordPress“Twenty12”主题是其父主题)。
一些修改非常简单,只需覆盖样式,在子主题的样式中使用我自己的css属性和选择器。css文件(如#page div的不同属性值或其他)。
其他修改由hooks完成,在子主题的函数中引入了我自己的函数。php文件,然后通过将代码放置在子主题的(最初重复的)头中来调用它们。php,页脚。php或任何地方。例如,我通过在子主题的函数中编写一个新函数,在每个页面中添加了一个额外的div。php,它只是回显html,然后将对该函数的调用插入子主题的头副本中的适当位置。php。
我知道,这很简单。作为一个新手,我对我得到的结果感到非常满意——父母的“Twenty12”主题被这些孩子的主题修改成了看起来完全不同的东西,这正是我想要的。我觉得我可以把《二十一世纪》的主题转换成各种不同的风格。
到目前为止还不错。但现在我面临WordPress更新的问题。当我将WordPress更新到一个新版本,甚至只是将“Twentyle2”主题更新到一个新版本时,挂钩(我放在子主题的header.php或footer.php中,或任何地方)可能无法工作,因为父主题的代码结构可能会发生根本性的改变。(我意识到,至少在一段时间内,大部分内容可能不会真正改变基本内容,但有一天可能会改变,或者我可能会试图修改可能更容易改变的代码。)
那我该怎么办?我想把我所做的所有修改都列一个详尽的清单。这样,当我需要更新时,我必须检查列表上的每个项目,并检查新文件,看看我的修改是否像以前一样有效。但这可能非常耗时,而且容易出错。
那么,有没有更好的方法来修改所有这些子主题,并更新WordPress核心文件和主题,而不需要太多麻烦呢?
我想我正在寻找一些机制,可以更容易地检查修改挂钩在子主题的标题中是否仍然有效。php或页脚。php或任何地方,当我更新WordPress时,或者这使我不必做这样的检查。当然,如果我有这些权利的话!
我的印象是,“创世”框架就是这样做的——我说得对吗?如果是,它是如何做到的?但是为什么我要买一个主题呢?我对WP的“二十一二”主题所做的修改对我来说非常有效;如果可能的话,我想继续修改这个主题。我能把《创世纪》和《二十一世纪》主题结合起来吗?
SO网友:Ben Miller - Remember Monica
的确,当你为其他人的软件编写主题或插件时,你依赖于该软件。每次更新后,基础软件都有可能发生变化,主题或插件中的某些内容将不再正常工作。
话虽如此,WordPress作为一个项目在尽可能保持向后兼容方面做得非常出色。WordPress很少在添加了钩子之后删除钩子,当WordPress想要删除一个函数时,他们会首先反对该函数,在实际删除之前向开发人员提供多个版本的警告。由于《十二个主题》也是由WordPress项目编写的,因此您可以期望在那里对细节给予同样的关注。
插件或主题开发人员需要使用每个新版本的WordPress测试其代码。由于您是自己的主题开发人员,这就落在您的肩上。熟悉debug process. 通过在测试期间打开WP\\u DEBUG常量,将警告您正在使用的任何已弃用且有被删除危险的函数。对于每个新版本的WordPress,请阅读codex article 这将提供更改的概述,并查找可能影响软件的任何内容。