使用起始主题与带有子主题的起始主题

时间:2017-09-16 作者:php-b-grader

我经常使用quark,这是一个入门主题。

我一直在quark中使用子主题,原因如下:

代码的清晰分离能够轻松更新quark的最新版本随着我与主题和wordpress越来越协调,我正在尝试减少负载和资源以确保速度和效率。

我现在正在讨论使用儿童主题,主要是因为我知道儿童主题已经添加了额外的资源

e、 g.它需要2 x样式。css(父级和子级),有时,覆盖样式很麻烦,并且会创建额外的代码,而独立使用starter主题并不需要这些代码——我可以删除这些代码。

函数也是如此。php-quark加载2 x google字体-如果我不使用它们并加载自己的google字体,我最终会加载多余的资源。

但是,在发布新版本时,使用初学者主题会禁用轻松更新到最新主题的功能。。。

所以我想我想知道我是否正确-这只是“绿色的摩擦”吗?我必须有效地总结一下,我是想处理一些额外的资源,还是无法自动更新我的主题?

还是说我在每种方法中都遗漏了一些独特的概念?

2 个回复
最合适的回答,由SO网友:Frank P. Walentynowicz 整理而成

Definitely use a child theme!

Quark在设计时考虑到了儿童主题。

以下是一些技巧,如何处理你对风格和functions.php 文件:

“例如,它需要2 x style.css(父级和子级),有时,覆盖样式会很麻烦,并且会创建额外的代码,而在单机版中使用starter主题则不需要这些代码。”

保持styles.css 子主题中为空。将父项排队styles.css 在儿童的functions.php 使用以下代码:

add_action( \'wp_enqueue_scripts\', \'wpse_child_theme_scripts\' );
function wpse_child_theme_scripts() {
    wp_enqueue_style( \'parent-theme-css\', get_template_directory_uri() . \'/style.css\' );
}
使用Customize -> Additional CSS 覆盖父样式并添加新的CSS规则。

“functions.php也是如此-quark加载2 x google字体-如果我不使用它们并加载自己的google字体,我最终会加载多余的资源。”

正如我之前提到的,Quark设计良好,允许覆盖子主题中的父主题函数。要自己加载google字体,请在child的functions.php:

function quark_fonts_url() {
   // your code to load fonts goes here...
}
父函数quark_fonts_url 是一个可插入函数,因此它将被您的函数替换,在child中声明functions.php. 将仅加载您的字体。

Quark中有许多可插入的函数。如果要更改其功能,可以在子主题中重写它们。

使用子主题方法,在Quark更新时不会丢失修改,您可以获得非常高的灵活性。

SO网友:Mark Kaplun

总的来说,我想说,儿童主题是一个过时的概念。它的主要问题不在于性能,而在于父主题的开发人员的问题,他们没有保持向后兼容性,以确保使用子主题所做的任何mod实际上都能继续工作,并且父主题的多次升级会导致破坏。

由于GIT很容易获得,而且几乎每个人都在使用它,我没有找到任何理由限制自己编写子主题,因为只要有一个带有父主题的GIT,为您的开发进行分支,并用父主题的新版本更新它,然后合并到开发分支中,就很容易了。

我不会过分强调绩效,对于大多数网站来说,这是一个无关紧要的问题(大多数网站只是没有获得足够的流量来满足性能的实际需要),但会根据客户和主题的使用来决定这些问题(非技术客户可能更喜欢子主题,以便在有新版本时能够轻松升级,更多的技术客户可能更清楚其中的缺点,并且有人可以实际使用git)。

结束

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c