子主题与重复主题已重命名

时间:2012-02-28 作者:SickHippie

好吧,我经常看到人们谈论子主题以及使用它们而不是修改现有主题的原因,但他们似乎都围绕着这样一个想法,即如果父主题被更新,所有更改都将丢失。当我过去创建网站时,我总是复制起始主题,在中更改主题名称style.css, 直接在那里工作。在我看来,使用单个主题而不是子主题将节省开销,并允许对代码进行更大的控制——例如,删除不必要的函数,而不是围绕它们工作。如果遇到问题,我总是可以引用原始主题文件,如果父主题被更新,如果函数名和此类更改,我的子主题仍然可能中断,因此我不认为这是一个真正的好处。

除了“开发人员偏好”这一主题之外,我的网络搜索在这一主题上没有太多发现,这并不是一个真正的原因。

使用子主题比复制和重命名主题有什么真正的好处吗?

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

对于主要希望对主题进行样式更改,但不想(或不知道如何)维护底层代码的用户,子主题很有用。Grokking PHP/WordPress主题开发与Grokking CSS完全不同。

子主题对于希望对其主题进行较小功能更改的用户也很有用。这对于提供大量修改方法的主题尤其有用:操作/过滤器挂钩、可插入函数等。当然,这样的mod也可以通过自定义插件轻松实现,但这样的插件只有在正确的主题处于活动状态时才适用,因此将此代码放在子主题中也同样有意义。

如果您对维护分叉主题感到满意,并且发现您的修改超出了子主题的合理范围,那么请尽一切努力:分叉主题。

这一切归结为对个人最终用户最有利的方法。

SO网友:kaiser

除了Chip Bennets的回答

像我这样的一些开发人员有自己的自定义框架,或者正在使用Genesis、Hybrid等框架。这些框架没有太多的样式,但有更多的功能,比如他们自己的模板和挂钩机制。有时还包括CPT或CT基类、元盒库、css框架等。通常,在单独的repos中维护所有代码,将它们捆绑在“主题”中,然后在子主题中使用这些部分就更容易了。

在我的例子中,我的框架/库/父主题只有库部件、挂钩和临时加载的加载机制以及一个引导函数。在子主题中,我可以定义特定任务所需的内容、添加单个任务模块或扩展父基类。最后但并非最不重要的一点:子主题包含我的所有UI部分:样式、脚本、图像。

因此,对于我和许多其他开发人员来说,这只是一种保持通用性、组织性和可重用性的好方法。

SO网友:heathenJesus

子主题的最大用途之一是在MUWP实例中。通常,在多站点安装中,相关站点共享部分或大部分主题,但可能需要一些自定义页面布局或元素样式。在这种情况下,使用子主题很有意义。相同的元素在父主题中寻址(根据您的假设,实际上可能是基于重复默认主题的自定义主题),需要不同的元素在子主题中寻址。

儿童主题的美妙之处在于,儿童主题和父母主题之间的唯一区别在于儿童主题本身。想知道父主题和子主题有什么不同吗?儿童主题本身就是这些差异的总和。需要改变儿童主题吗?您只需查看一些规则和函数,而不必费力地浏览整个主题的代码。

结束

相关推荐