入门主题与父主题?利弊


10

我正在构建一个主题,以作为我正在工作的公司的其他网站的示例。在另一个项目中,我们使用了Hybrid Parent Theme,它确实很容易构建,但是很难维护网站。

我更喜欢Starter Theme方法,另一位开发人员可以复制该主题并从中创建主题。父级->子级为开发人员弄乱代码提供了太多的自由。例如,我不知道孩子或父母正在调用某些东西。

我希望收到您的来信:

  • 家长主题何时更好?
  • 入门主题何时更好?
  • 它们各自的优缺点是什么?

谢谢。


2
封闭投票认为不是建设性的“我们希望答案能得到事实,参考或特定专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。”
Chip Bennett 2012年

4
问题要问事实。也许应该删除意见部分。另请参见“ 良好主观”,“不良主观”
fuxia

我可以编辑第一个问题,也可以删除它
romulodl 2012年

2
@romulodl-只需编辑问题并删除“意见”-我认为无需删除
2011年

Answers:


11

我完全同意拉斯特。我只想添加一些小东西。

注意:我区分父主题和框架。在我的回答中,我考虑了诸如TwentyEleven之类的父主题,该主题主要是为特定网站创建的,比框架要少。

入门主题:

优点

  • 易于在HTML级别进行自定义。我的意思是类似open <div>的特定元素的自定义CSS类。这是为个人博客创建一个非常小的主题的好方法,在该主题中,您不需要父主题提供的很多东西(或者至少如果您使用父主题/框架,则必须挂钩将其删除)。iframe与使用父主题相比,您还可以回显HTML的特殊部分,例如引用另一个网站的HTML 或仅仅是“ Hello文本”。
  • 无需从父主题复制模板文件即可更改小事情。
  • 无需学习新知识,例如挂钩映射,自定义语法,自定义函数等。这些东西是开发人员喜欢的,但并非所有用户喜欢。

缺点

  • 因为它是一个启动,你必须做很多事情让你的主题进行:CSS,自定义模板,等等。你可能不希望这样做,如果你懒得!

父主题:

优点

  • 具有完整的设计,您可以通过更改细线(style.css例如更改颜色,字体大小等)轻松地进行调整。
  • 一个完整的主题,这意味着您可以立即进行操作而不必担心评论模板,单页模板等问题。
  • 有人为您建立了它!

缺点

  • 如果父主题最符合您的要求,则应将其视为好主题,因此您可以对其进行尽可能少的调整。否则就是一场噩梦
  • 定制能力不太高。我并不是说您可以在这里的框架中看到钩子系统(请参阅下面的框架)。如果要强烈自定义它,则必须重写大多数模板文件-这意味着您正在重新创建主题,而这并不是使用父主题的目的。

框架:

优点

  • 一切都可用:框架通常是作为一种多合一的解决方案而制成的,因此它具有创建任何类型的网站的强大能力。您需要自定义徽标吗?颜色选择器?拖放?主题布局?...您已经掌握了它们。
  • 如果您熟悉的,可以更快地建立网站
  • 具有完整的挂钩系统,允许用户在许多地方进行挂钩以更改框架提供的许多功能
  • 高度的自定义:不仅在挂钩系统中,而且在Catalyst,Headway等许多框架中,您都可以在管理员中自定义几乎所有元素,而无需接触CSS或挂钩。

缺点

  • 用户必须学习该框架(挂钩系统,熟悉其功能,设置,甚至是新术语)才能有效地使用它。我认为这是框架的最大缺点,因为WP已经有很多东西要学习,并且并非所有用户都想学习新东西只是为了更好地使用WP。这些东西是开发人员喜欢的,但并非所有用户都喜欢。用户是只使用而不是学习和自定义的人。
  • 冗余代码:框架的某些部分与WP功能一致,从而导致重复。例子可以是genesis_meta()(因为我们不需要wp_head)。
  • 性能:因为框架具有所需的一切=>它必须为您可能根本不用的admin / frontend加载所有必需的文件。对于这一点,我更喜欢Hybrid Core加载文件的方式(通过使用require_if_theme_supportsfunction)
  • 默认外观通常很小而且很糟糕。我们必须做很多工作才能完成设计。如果您使用入门主题,则过程类似,但是使用挂钩代替入门主题中的自定义模板。
  • 框架有其自身的哲学,导致建立框架的方式不同=>导致许多框架=>我们不知道哪一个最适合我们(特别是当它们溢价时)。那不是太好,因为如上所述,框架对开发人员而言是好的,而开发人员需要深入研究代码以了解其效果!如果框架是高级的,那扇门就被看了!

最后一件事:所有入门主题,父主题和框架可以用于任何站点,如果您可以轻松自定义以实现最终结果。没有针对所有情况的一种解决方案。我们必须选择最能帮助我们的人,也许这一次的入门主题很好,但是在另一个时候,是一个框架。顺便说一句,与所有人一起工作可以为我们提供很多经验,这些经验不仅在创建主题时在很多情况下都对我们有帮助!


真的很完整的答案!谢谢!无疑,这将解决任何人将来可能会有同样问题的疑问!
romulodl 2012年

9

主题工作流平衡是几个因素的组合:

  • 大量代码,具体取决于站点
  • 网站之间共享的代码量
  • 纳入上游变化

这些中的每一个都可能很重要,而每个中的每个都不重要。

父主题模型满足所有的这些还算不错,但不是非常好。您可以清楚地区分共享和单独的代码,以及直接的上游更新(如果使用第三方父主题)。当任何需求变得比平常大时,它就会开始崩溃-许多单独的代码或很多共享的代码无法轻易地混入第三方父主题中。

另一方面,入门主题是非常专业的模型。它偏爱单个站点,但不支持上游更改和共享代码。一旦您将入门主题变成自己的主题,那么将代码移入和移出的所有负担就由您自己承担了。

最新的趋势是将框架分成类似插件的组件,而不是完全运行父主题。如果您熟悉Hybrid作为父主题,请查看Hybrid Core。这种方法本质上是在父/子之上的改进,上游更新由于受框架而不是整个主题的限制而变得更加容易。

简而言之(这里有些主观):

  • 入门版适合各个地点
  • 父/子适合多个站点,无需太多自定义
  • 框架/父母/孩子可以适应任何事物,但也需要更多地参与开发

我想你解释得很好。对于博客,主题的父/子模型很好用。对于构建CMS或应用程序,它很快就会成为问题。
Ray Gulick 2012年

4

使用父主题的主要原因是允许进行更轻松的更新-如果仅获取一个主题并直接对其进行编辑,那么如果原始主题得到更新,则必须重新应用所做的任何更改(或合并原始主题中的更改)返回修改后的主题)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.