WordPress子主题提供给用户更大的自由发挥空间,可以对 WordPress主题进行任意修改,而不会受到程序更新的影响。

应用场景: 我们可以对任意主题 比如rizhuti 搭建子主题,将要修改的文件都放在子主题里,这样当官方父主题更新的时候,我们不需要再把自己修改过的文件单独挑出来或者修改新主题文件后再覆盖旧主题,会更方便,目前根据作者这一篇文章 只有下面俩文件 ,如果能增加主题里面的像single.php   内容 分页模板 就更加完美 ,博主在跟进这一问题 ,力求发布一篇完美的博文,这篇算是基础

手动创建WordPress子主题的最低要求是下面两个文件:style.css 和 functions.php文件。

对于新手来说,手动创建子主题比较难,那么使用插件一键创建子主题就更容易了。请移步到 Child Theme Wizard 和 Child Theme Configurator 查看。

1、style.css里面存放的是 WordPress主题的 css代码。如果后期要添加自定义 css样式,添加到 style.css中。

使用 Dreamweaver或类似软件创建一个名为 style.css 的文件并添加代码:

你要使用自己的实际信息替换冒号后面的内容:

  • Theme Name – 子主题名
  • Theme URI – 主题及文档网站
  • Description - 主题说明
  • Author – 主题作者名字
  • Author URI –主题作者网站
  • Template – 父主题文件夹的名称(要与/wp-content/themes文件夹中的父主题名称相同)。这行非常重要因为子主题靠这一行识别父主题并工作。
  • Version - 子主题版本号。
  • Text Domain – 国际化使用,在模板名末尾加“-child”。
  • License – 保留默认。
  • License URI –保留默认。

这里面只有 Template 这行最关键,其他内容不重要。只要确保正确输入Template 父主题的文件夹名称即可。

2、functions.php

为子主题创建 functions.php文件。建立一个空白 php文件,起名 functions.php,在里面添加以下代码:

3、把文件上传到 WordPress主题文件夹

补充一下  这里注意增加一张图片


就是这样  添加一张  screenshot.jpg 图片 这样后台才会显示图片 否则很难看

把 style.css文件和functions.php文件新主题上传到 WordPress网站。

使用FTP软件(宝塔面板文件功能或者虚拟主机 cPanel面板)连接到主机,定位到站点主题目录 /wp-content/themes/,为子主题创建一个新文件夹。

打比方说父主题文件夹名是 Twenty Twenty-One,子主题文件夹名 Twenty Twenty-One Child。再把 style.css和functions.php文件上传到文件夹​里面。

接下来去 WordPress外观 > 主题,像其他 WordPress主题一样启用子主题,开始设置主题、建站就行了。

下面是wordpress子主题官方的说明

zh-cn:子主题 « WordPress Codex

WordPress子主题也是一个主题,它继承了另一个主题——父主题——的功能,并允许你对父主题的功能进行修改,或者添加新功能。本文将说明如何创建一个基本的子主题并解释您能用它来干什么。本文将使用 WordPress 3.0 的默认主题 Twenty Ten 作为父主题进行举例说明。 创建一个子主题是很简单的。创建一个目录,将格式编写正确的 style.css 文件放进去,一个子主题就做成了!只需要对 HTML 和 CSS 具有基本的了解,您就可以通过创建一个非常基本的子主题 来对一个父主题的样式和布局进行修改和扩展,而不需要对父主题的文件作任何修改。通过这样的方式,当父主题被更新的时候,您所做的修改就可以保存下来。 因为这个原因,我们强烈推荐您使用子主题的方式来对主题进行修改。 如果您对 PHP, WordPress Templates,和 WordPress Plugin API有个基本的理解,理论上来讲,您可以使用子主题对父主题的每一个方面进行扩展,而不需要对父主题的文件进行任何修改。

Contents

  • 1 目录结构
  • 2 必需的style.css文件
  • 3 一个子主题的范例
    • 3.1 注意 @import 规则
  • 4 使用 functions.php
  • 5 模板文件
  • 6 其他文件
  • 7 Resources

目录结构

子主题放在wp-content/themes目录下属于自己的目录里。下面的结构显示的就是子主题和它的父主题(Twenty Ten)在典型的WordPress目录结构中的位置:

  • public_html
    • wp-content
      • themes (主题存放的目录)
        • twentyten (示例中父主题Twenty Ten的目录)
        • twentyten-child (子主题存放的目录,可以任意命名)
          • style.css (子主题中不可或缺的文件,文件名必需为 style.css)

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

  1. style.css (必需)
  2. functions.php (可选)
  3. Template files (可选)
  4. Other files (可选)

让我们看看它们是如何起作用的。

必需的style.css文件

style.css是一个子主题唯一必须的文件。它的头部提供的信息让WordPress辨认出子主题,并且重写父主题中的style.css文件。 对于任何WordPress主题,头部信息必须位于文件的顶端,唯一的区别就是子主题中的Template:行是必须的,因为它让WordPress知道子主题的父主题是什么。 下面是一个style.css文件的头部信息的示例:

/*
Theme Name:     Twenty Ten Child
Theme URI:      http: //example.com/
Description:    Child theme for the Twenty Ten theme 
Author:         Your name here
Author URI:     http: //example.com/about/
Template:       twentyten
Version:        0.1.0
*/

逐行的简单解释:

  • Theme Name. (必需) 子主题的名称
  • Theme URI. (可选) 子主题的主页。
  • Description. (可选) 子主题的描述。比如:我的第一个子主题,真棒!
  • Author URI. (可选) 作者主页。
  • Author. (optional) 作者的名字。
  • Template. (必需) 父主题的目录名,区别大小写。 注意: 当你更改子主题名字时,要先换成别的主题。
  • Version. (可选) 子主题的版本。比如:0.1,1.0,等。

*/ 这个关闭标记的后面部分,就会按照一个常规的样式表文件一样生效,你可以把你想对WordPress应用的样式规则都写在它的后面。 要注意的是,子主题的样式表会替换父主题的样式表而生效。(事实上WordPress根本就不会载入父主题的样式表。)所以,如果你想简单地改变父主题中的一些样式和结构——而不是从头开始制作新主题——你必须明确的导入父主题的样式表,然后对它进行修改。下面的例子告诉你如何使用@import规则完成这个。

一个子主题的范例

这个例子中的父主题是Twenty Ten,我们喜欢这个主题的几乎每个部分,除了网站标题的颜色,因为我想把它从黑色的改成绿色的。使用子主题的话,只用完成以下三个简单的步骤:

  1. wp-content/themes目录下创建一个新目录,并将它命名为twentyten-child(或其他你喜欢的名称)。
  2. 将下面的代码保存在名为style.css的文件里,并将它放到新建的这个文件夹。
  3. 到WordPress的控制台>主题,然后激活你的新主题:Twenty Ten Child。
/*
Theme Name: Twenty Ten Child
Description: Child theme for the Twenty Ten theme 
Author: Your name here
Template: twentyten
*/

@import url("../twentyten/style.css");

#site-title a {
    color: #009900;
}

下面一步步解释上面代码的作用:

  1. /* 开启子主题的头部信息。
  2. Theme Name: 子主题名称的声明。
  3. Description: 主题的描述(可选,也可被省略)。
  4. Author: 作者名字的声明(可选,也可被省略)。
  5. Template: 声明子主题的父主题,换言之,父主题所在的文件夹的名称,区分大小写。
  6. */子主题头部信息的关闭标记。
  7. @import规则将父主题的样式表调入
  8. #site-title a 定义网站标题的颜色(绿色),覆盖父主题中相同的样式规则。

注意 @import 规则

需要注意的是,@import 规则之前没有其他的CSS样式规则,如果你将其他的规则置于它之上,那么它将无效,并且父主题的样式表不会被导入。

使用 functions.php

不像style.css,子主题中的functions.php不会覆盖父主题中对应功能,而是将新的功能加入到父主题的functions.php中。(其实它会在父主题文件加载之前先载入。) 这样,子主题的functions.php提供了一个灵活稳定的方式来修改父主题的功能。如果你想在你的主题里加入一些PHP函数,最快的方式可能是打开functions.php文件然后加入进去。但那样并不灵活:下次你的主题升级更新了,你加入的新功能就会丢失掉。相反地,如果你使用子主题,将functions.php文件放进去,再将你想加入的功能写进这个文件里,那么这个功能同样会工作得很好,并且对于父主题以后的升级更新,子主题中加入的功能也不会受到影响。 functions.php文件的结构非常简单:将PHP起始标签置于顶部,关闭标签置于底部,它们之间就写上你自己的PHP函数。你可以写得很多,也可以写得很少,反正按你所需。下面的示例是一个基本的functions.php文件的写法,作用是将favicon链接加入到HTML页面的head元素里面。

<?php

function favicon_link() {
    echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "\n";
}
add_action('wp_head', 'favicon_link');

?>

给主题作者的提示。事实上子主题的functions.php首先加载意味着你的主题的用户功能可插入——即子主题是可替换的——通过有条件地进行声明。例如:

if (!function_exists('theme_special_nav')) {
    function theme_special_nav() {
        //  Do something.
    }
}

注意,替换的过程是在父级主题中,使用php的function_exits进行判断。 用这种方式,子主题可以替换父主题中的一个PHP函数,只需要简单地对它再次声明。

模板文件

模板文件 在子主题中的表现和style.css一样,它们会覆盖父主题中的相同文件。子主题可以覆盖任何父主题模板中的文件,只需要创建同名文件就行。(注意:index.php在WordPress3.0及以上版本才能被覆盖。) 同样,这项WordPress的功能允许你修改父主题的样式功能而不用去编辑父主题的文件,并且你的修改能让你在更新父主题后继续保留。 下面是一些使用模板文件的子主题的例子:

  • 增加一个父主题没有提供的模板(例如:网站地图页面的模板,或者一单栏页面,它们在页面编辑,模板选择里是可用的)
  • 增加一个比父模板更加具体的模板(见模板级别)。(例如:新加的tag.php模板用于按tag归档的文章来代替父主题中通常的archive.php模板。)
  • 替换父主题中的一个模板.(例:使用你自己的home.php来覆盖父主题中的home.php

其他文件

除了style.css,functions.php,index.php和home.php,子主题可以使用任何正式主题使用的类型的文件,只要文件被正确链接。打个比方,你可以使用在样式表里或者Javascript文件里链接的图标、图片,或者从functions.php文件中调用出来的额外PHP文件。

 

来源 www.vpsss.net/26148.html

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。