维护和部署几个父主题的最佳实践是什么?

时间:2013-05-07 作者:Erlend

我一直试图委托一位自由职业者为我制作一个定制网站,但当我说我想要一个家长主题时,遇到了一个障碍。这位自由职业者强烈倾向于根据自己制作的、经常更新的免费主题制作儿童主题。

贾斯汀·塔德洛克写得很好Frameworks? Parent, child, and grandchild themes?, 并简洁地解释了销售儿童主题的问题:

当主题开发人员创建一个子主题时,事情就会变得有问题,因为该子主题最终可能需要更新。如果您是一个主题开发人员,并且正在使用20kb的函数文件和五到六个自定义模板构建子主题,那么我可以向您保证,您做得不对。我甚至不得不告诉自己这一点。

我相信,如果开发人员对维护多个主题和WordPress主题部署的常见做法有一定的经验,这不会是一个问题。实际上,数百家WordPress主题商店似乎在维护大量父主题方面没有问题。他们的特色酱汁是什么?

1 个回复
最合适的回答,由SO网友:Bill Erickson 整理而成

虽然我在很多事情上都同意贾斯汀·塔洛克的观点,但在这一点上我强烈反对他的观点。

存在父/子主题的原因是,网站上使用了许多通用功能。与其每次都重新发明轮子,不如建立一个坚实的基础,这个基础已经过数百名开发人员的测试,并在数万个网站上使用。

从安全角度来看,只要您知道父主题是安全的(StudioPress聘请WordPress首席开发人员兼安全团队负责人Mark Jaquith对其进行审查),那么您只需关注在子主题中编写的自定义代码的10-20%。它大大降低了安全风险。

从成本角度来看,像我这样的开发人员可以通过使用Genesis这样的主题框架将开发时间减少4-5倍。我可以为一个网站收费2500美元,因为Genesis为我节省了开发时间。当我从头开始构建一个主题(无论是独立主题还是作为自己的父主题)时,最低成本会上升到10000美元,通常在20000美元到50000美元之间。

从开发人员的角度来看,使用由多个顶级开发人员开发并由数百名其他开发人员使用的主题框架,可以确保每个小功能都有比您花费更多的时间来以正确的方式解决它。对于一个典型的网站,我们无法证明花一个多小时设置面包屑是合理的,但我可以保证在Genesis中花了50多小时的开发时间。由于Genesis的实现,我只需不到一分钟的时间就可以以我们想要的任何方式实现面包屑。

我唯一建议为客户开发一个独立主题或一个新的父主题的时候是,如果他们希望构建自己的基础主题,然后可以跨几十个站点部署,每个站点都有自己的自定义项(通过子主题)。即便如此,使用像Genesis这样的父主题,并将“基本”主题设置为子主题,也可能更具成本效益。您可以使用Jetpack的编辑CSS功能进行较小的CSS自定义(或找到一个做同样事情的插件),并且可以通过特定于站点的核心功能插件进行功能自定义。

我鼓励你找到解决问题的正确方法。您可能需要一个子主题,也可能需要开发一个父主题。但您应该考虑成本问题,因为如果不利用父主题/框架,您将增加所需的开发时间,从而增加成本。

我个人对父主题和框架之间差异的看法也与Justin不同。他说他们不是一回事。我说他们可以是同一件事。父主题是通过子主题扩展的主题。子主题是特定于站点的定制,而父主题包含网络范围的代码或在许多站点上有用的通用代码。2、主题框架是构建主题的坚实基础。

当它们结合在一起时,您就有了一个不断改进的坚实基础。当您的框架不是父主题时(例如:underscores), 你被“冻结在时间里”,坚持使用最初分叉时的代码。如果对框架进行了新的改进,您将不会收到这些改进。因此,非父主题框架通常非常精简,因此它们不会从未来的更新中获得太多好处。

结束

相关推荐

“自动WordPress更新无法完成-请立即重新尝试更新”--但没有.Maintenance文件

在自动升级失败后,我正在尝试手动将wordpress升级到最新版本(3.0.3)。升级后,一切正常,除了在我的管理区顶部有一条令人不快的消息:自动WordPress更新未能完成-请立即重试更新我在互联网上搜索,每个人都说这是因为.maintenance 文件位于Wordpress根文件夹中,是自动升级或手动升级失败的遗留文件。在第二种情况下,只需删除该文件,一切都会很好。但我搜索我的wordpress安装目录,没有这样的文件。知道是什么导致了这个问题吗?