虽然我在很多事情上都同意贾斯汀·塔洛克的观点,但在这一点上我强烈反对他的观点。
存在父/子主题的原因是,网站上使用了许多通用功能。与其每次都重新发明轮子,不如建立一个坚实的基础,这个基础已经过数百名开发人员的测试,并在数万个网站上使用。
从安全角度来看,只要您知道父主题是安全的(StudioPress聘请WordPress首席开发人员兼安全团队负责人Mark Jaquith对其进行审查),那么您只需关注在子主题中编写的自定义代码的10-20%。它大大降低了安全风险。
从成本角度来看,像我这样的开发人员可以通过使用Genesis这样的主题框架将开发时间减少4-5倍。我可以为一个网站收费2500美元,因为Genesis为我节省了开发时间。当我从头开始构建一个主题(无论是独立主题还是作为自己的父主题)时,最低成本会上升到10000美元,通常在20000美元到50000美元之间。
从开发人员的角度来看,使用由多个顶级开发人员开发并由数百名其他开发人员使用的主题框架,可以确保每个小功能都有比您花费更多的时间来以正确的方式解决它。对于一个典型的网站,我们无法证明花一个多小时设置面包屑是合理的,但我可以保证在Genesis中花了50多小时的开发时间。由于Genesis的实现,我只需不到一分钟的时间就可以以我们想要的任何方式实现面包屑。
我唯一建议为客户开发一个独立主题或一个新的父主题的时候是,如果他们希望构建自己的基础主题,然后可以跨几十个站点部署,每个站点都有自己的自定义项(通过子主题)。即便如此,使用像Genesis这样的父主题,并将“基本”主题设置为子主题,也可能更具成本效益。您可以使用Jetpack的编辑CSS功能进行较小的CSS自定义(或找到一个做同样事情的插件),并且可以通过特定于站点的核心功能插件进行功能自定义。
我鼓励你找到解决问题的正确方法。您可能需要一个子主题,也可能需要开发一个父主题。但您应该考虑成本问题,因为如果不利用父主题/框架,您将增加所需的开发时间,从而增加成本。
我个人对父主题和框架之间差异的看法也与Justin不同。他说他们不是一回事。我说他们可以是同一件事。父主题是通过子主题扩展的主题。子主题是特定于站点的定制,而父主题包含网络范围的代码或在许多站点上有用的通用代码。2、主题框架是构建主题的坚实基础。
当它们结合在一起时,您就有了一个不断改进的坚实基础。当您的框架不是父主题时(例如:underscores), 你被“冻结在时间里”,坚持使用最初分叉时的代码。如果对框架进行了新的改进,您将不会收到这些改进。因此,非父主题框架通常非常精简,因此它们不会从未来的更新中获得太多好处。