WordPress (Child Theme) 子主题的作用

0
69

大家都知道WordPress是一个CMS系统,而使用WordPress时都会使用到主题和插件。一般的主题获取WordPress渠道都是在 (envato Maket)Themeforest、或者淘宝等购买。而 Envato Market 做为国外知名的模板&扩展/插件销售商店一直是所有站长的青睐!(当然也名括我自己,没事的时候就去逛逛,看看有没有新的东西和元素能吸引自己的。同时也促发一下我这 64K内存大脑 的灵感不是!~)
在 (envato Maket)Themeforest 网站不仅可以购买心怡的模板和插件,还有一些代码设计原稿和多媒体正版素材;是一个非常值得转一转的网站。


本网站使用的主题:NewsPaper 即是来源于 (envato Maket)Themeforest 网站购买的正版主题。虽然国内卖汉化的优化完的主题笔笔皆是!~ 可谓是盗版原码文件满天飞,但做为一个正直的直男我们一定要用正版。博客即叫“哔哔”,我自己这就不进正题的哔哔叨叨个没完了。下文进入正题喽!~~


WordPress 子主题是什么?

严格来说 “WordPress Child Theme” 也是一个独立的主题,但它的所有功能、样式、模板文件等都继承于父级主题。而区别在于通过子主题可以对父级主题进行修改(样式、功能等),且不需要修改父级主题的任何源码文件。理论上来讲子主题可以对其父主题做出任何的修改。

由上述原因就可以看出子主题的基本用途,也正是因此而强烈推荐在使用主题时创建一个子主题;这样当出现任何问题的时候,我们只需要将错误的部份修正或直接删除修改的代码或文件即可恢复出初。还有另一个原因就是父级的主题更新不会影响到你在子主题中做出的一系列修改和优化

子主题的目录结构:

    website-root

  • inc
    • themes (主题存放的目录)
      • twentyten (示例中父主题Twenty Ten的目录)
      • twentyten-child (子主题存放的目录,可以任意命名)
          • style.css (子主题中不可或缺的文件,文件名必需为 style.css)
          • functions.php (可选,一般如果想对父级主题做出相应修改才需要此文件)
          • Template files (可选)
          • Other files (可选)

*这个文件夹里面可以少至只包含一个style.css文件,也可以包含多至一个完整WordPress主题所拥有的文件

style.css 样式表文件应用:

此文件是子主题中必需包含的文件,且文件名必须为 “style.css” ,用于修改父级主题的样式表,通常其默认的样式渲染优先级别会高于父级主题,所以一般情况下添加或修改样式无需使用!important标签即可达到效果。其文件结构如下:

在 “*/” 注释结束符后的内容将会随常规的样式表一样生效。事实上有了这个基本的文件后父级主题中的style.css文件就不会再生效了,也就意味着所有写在style.css的样式将不会载入。所以我们还要导入父级主题中被子主题所覆盖的样式表文件。下文中还会提到如何通过 “functions.php” 来导入样式表,原理相似。

functions.php 文件应用:

functions.php 文件和 “style.css” 文件不同,它的规则不会覆盖父级主题相对应的功能;而是将新的功能或修改添加到父级主题的“functions.php”文件中去 (其实它是在父主题的functions.php文件加载之前先行载入)。也就是说在子主题的 “functions.php” 文件会优先加载,以便应用修改或优化过的父级主题的对应功能。

同样的道理,为了日后主题更新不会影响到我们的优化和功能修改,子主题就又加了一层必要性的属性。

functions.php 的文件结构相对简单,只需要写入基本的“<?php” 和 “?>”标签即可,为网站的HTML的<head>标签部份添加 favicon

通过子主题的 “functions.php” 文件中引入父级主题样式表。例如:

然而我们的目的并不在此,我们既然费劲的去理解和安装子主题,那就要有更多的做为才是。如:

或替换父级主题中的函数:

探索Wordpress之旅,从我出发!~

WordPress 4.9.1 (简体中文版)

留下一个答复

请输入你的评论内容!
请在这里输入您的名字/昵称