`
yantaoliu2006
  • 浏览: 91751 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

wordpress子主题介绍

 
阅读更多
本文摘自:http://codex.wordpress.org/zh-cn:子主题
zh-cn:子主题

Languages: English • 日本語 • Français • 中文(简体) • (Add your language)

WordPress子主题也是一个主题,它继承了另一个主题——父主题——的功能,并允许你对父主题的功能进行修改,或者添加新功能。本文将说明如何创建一个基本的子主题并解释您能用它来干什么。本文将使用 WordPress 3.0 的默认主题 Twenty Ten 作为父主题进行举例说明。

创建一个子主题是很简单的。创建一个目录,将格式编写正确的 style.css 文件放进去,一个子主题就做成了!只需要对 HTML 和 CSS 具有基本的了解,您就可以通过创建一个非常基本的子主题 来对一个父主题的样式和布局进行修改和扩展,而不需要对父主题的文件作任何修改。通过这样的方式,当父主题被更新的时候,您所做的修改就可以保存下来。

因为这个原因,我们强烈推荐您使用子主题的方式来对主题进行修改。

如果您对 PHP, WordPress Templates,和 WordPress Plugin API有个基本的理解,理论上来讲,您可以使用子主题对父主题的每一个方面进行扩展,而不需要对父主题的文件进行任何修改。

Contents
[hide]
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主题所拥有的文件:

style.css (必需)
functions.php (可选)
Template files (可选)
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,我们喜欢这个主题的几乎每个部分,除了网站标题的颜色,因为我想把它从黑色的改成绿色的。使用子主题的话,只用完成以下三个简单的步骤:

在wp-content/themes目录下创建一个新目录,并将它命名为twentyten-child(或其他你喜欢的名称)。
将下面的代码保存在名为style.css的文件里,并将它放到新建的这个文件夹。
到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;
}
下面一步步解释上面代码的作用:

/* 开启子主题的头部信息。
Theme Name: 子主题名称的声明。
Description: 主题的描述(可选,也可被省略)。
Author: 作者名字的声明(可选,也可被省略)。
Template: 声明子主题的父主题,换言之,父主题所在的文件夹的名称,区分大小写。
*/子主题头部信息的关闭标记。
用 @import规则将父主题的样式表调入
#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函数,只需要简单地对它再次声明。

模板文件
模板文件 在子主题中的表现和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文件。

Resources
Theme Development
How to Modify WordPress Themes the Smart Way - four-part series on child themes
How to make a child theme for WordPress: A pictorial introduction for beginners - illustrated introduction to child themes
Introducing Thirty Ten - guide to creating a Twenty Ten Child Theme
Categories: Design and Layout | UI Link
Home Page
WordPress Lessons
Getting Started
Working with WordPress
Design and Layout
Advanced Topics
Troubleshooting
Developer Docs
About WordPress
Codex Resources
Community portal
Current events
Recent changes
Random page
Help
Privacy | License / GPLv2     See also: Hosted WordPress.com | WordPress.TV Videos | WordCamp Events | BuddyPress Social Layer | bbPress Forums | WP Jobs | Matt
分享到:
评论

相关推荐

    WordPress主题-B2美化通用子主题运营版

    首先,让我们了解一下什么是WordPress子主题。子主题允许用户在不修改父主题代码的情况下进行自定义,确保了在更新父主题时,用户的个性化设置不会丢失。B2美化通用子主题是基于B2主题创建的,这意味着它继承了B2...

    WordPress主题-RiPro子主题小八子主题v8.0版.rar

    RiPro子主题“小八子”是针对WordPress平台设计的一款高级主题,旨在为用户提供个性化的网站设计和丰富的功能扩展。在这个压缩包文件"WordPress主题-RiPro子主题小八子主题v8.0版.rar"中,我们可以预见到以下关键...

    LAN主题-Ripro-V5子主题LAN-V1.2-WordPress日主题-Ripro-V5美化

    总的来说,LAN主题-Ripro-V5子主题LAN-V1.2是一个专注于美化和增强WordPress网站体验的解决方案,为用户提供了丰富的自定义选项和优化性能的可能性。无论是对于个人博客、企业网站还是在线商店,这样的主题都能帮助...

    WordPress子比主题自助注销账号插件

    通过使用“WordPress子比主题自助注销账号插件”,网站管理员不仅可以提供更高效的服务,还能满足数据保护的相关法规,增强用户对网站的信任度。同时,定期更新和维护这款插件,以确保其与WordPress的最新版本兼容,...

    wordpress zibll子比主题6.4.1开心版 无需授权

    wordpress zibll子比主题6.4.1开心版 无需授 修复评论弹授权 可做付费下载站 含wordpress搭建视频教程+zibll子比主题安装视频教程+支付配置视频教程,视频都是语音讲解

    Wordpress最新Zibll子比主题V6.5最新完美免授权无限制版

    Wordpress最新Zibll子比主题V6.5最新完美免授权无限制版 2022-07-10 Wordpress主题/插件 105 推广 PS 本源码提供给大家学习研究借鉴美工之用,请勿用于商业和非法用途,无任何技术支持! Wordpress最新Zibll子比...

    wordpress程序zibll子比主题v6.2开心无限制版本-亲测能用

    wordpress开心版zibll主题v6.2最新官方开心版源码+破j教程,给大家分享一下zibll子比主题目前为止的最新版本6.2版本,是破姐免授权的版本,PHP的版本要选择在PHP7.4以上(推荐7.4)内附搭建教程+破j教程

    wordpress主题模板 zibll 子比主题v7.6插件博客源码知识付费源码美化插件

    wordpress主题模板 zibll 子比主题v7.6插件博客源码知识付费源码美化插件安装...wordpress主题模板 zibll 子比主题v7.6资源博客论坛源码知识付费源 wordpress主题模板 wordpress开源 zibll 子比主题插件v7.6美化插件

    wordpress主题_ripro美化子主题_虎造子主题集成后台美化包v2.0

    本资源"wordpress主题_ripro美化子主题_虎造子主题集成后台美化包v2.0"则是针对RIPRO主题进行二次开发的美化子主题,旨在进一步提升网站的视觉效果和用户体验。 首先,我们来了解什么是子主题。在WordPress中,子...

    wordpress主题zibll子比主题v6.2全新无限制版本源码

    完善部分函数以兼容 WordPress5.9 完善由于 jsdelivr CDN 在二月起国内访问异常导致的管理后台变慢的问题 完善发布文章发布帖子的跳转逻辑 修正 WordPress5.9.1 版本本下文章幻灯片模块显示不正确的 错误 修正 ...

    wordpress主题_VAN主题V1.4版本|RIPRO_V2子主题

    VAN主题是一款基于日主题系列旗下RIPro-v2主题所开发的一款子主题,其目的是为了将RIPro-V2主题发挥到极致。美化添加很多细节功能,让你的网站更有逼格。 版本介绍: 案例展示小工具更新 新增自助友情链接页 新增用户...

    WordPress主题Modownv8.1.2主题无密源码

    无密源码意味着用户可以自由地查看和修改代码,以适应他们的特定需求,这对于想要进行二次开发和创建子主题的人来说非常有利。 首先,"Modown"主题是一个专为下载站点设计的WordPress主题,它通常包含了各种特性来...

    WordPress主题模板.zip

    总之,"WordPress绿色主题模板.zip" 是一个为WordPress用户准备的高质量主题,它的绿色设计风格和子主题功能为创建独特、专业的网站提供了强大的工具。无论是初学者还是经验丰富的开发者,都可以根据自己的需求,...

    wordpress主题

    开发者可以通过创建子主题来保持对原始主题的更新,同时保持自定义代码的安全性。 在使用黑糖主题时,你还可以利用WordPress的插件生态系统来进一步增强网站的功能,比如SEO优化、社交媒体整合、联系表单等。另外,...

    WordPress子主题RiPro-V5van无授权全开源版

    WordPress子主题RiPro-V5van无授权全开源版,直接上使用方法:WordPress后台上传就行, 这个主题是1.0版本开源的,有能力的可以二次开发一下加一些自己喜欢的功能。 交易弹幕功能 自助友情页面 QQ群联盟页面 ...

    wordpress商城主题 woocommerce模板主题:XStore-6.3.4.rar

    **WordPress商城主题与WooCommerce模板** WordPress是一个广泛使用的开源内容管理系统,被众多网站用于构建各种类型的网页,包括个人博客、企业网站以及电子商务平台。在WordPress中,商城主题是专门为在线商店设计...

    WordPress程序DooPlay电影电视剧网主题

    WordPress程序DooPlay电影/电视剧仿豆瓣电影...子主题支持。小工具支持。适用于搜索引擎优化。社会自定义按钮。优化的负载,缩小。文章类型的电影,电视剧,剧集。主题选项,完全控制框架。IMDb / TMDb API生成的数据。

    子比主题6.8,wordpress付费资源下载主题

    子比主题6.8开心版,wordpress付费资源下载主题 Zibll子比主题专为阅读类网站开发,设计简约优雅、功能全面。UI界面模块化、多种布局、多种显示效果可选择,高度自由化,更容易搭配出自己喜欢的网站。支持付费阅读,...

    wordpress-Zibll子比主题-最新版本V5.7-免授权无后门

    此次更新以优化为主,更新内容不多,主要是因为大多数精力都在进行论坛系统的开发,在这里也就提前预告一下,论坛系统将会在下一版发布,主题的论坛系统仍保持漂亮的UI设计,同时功能强大,可以完美的实现圈子、问答...

    wordpress日主题ripro9.0版本搭建

    ripro是一款为资源付费类型的wordpress主题 主要运营方向是会员余额中性化,无需任何插件,带会员中心, 主题的会员制度采用:会员,非会员,非会员原价购买资源等, 会员用户可更具设置的资源折扣等享受免费下载...

Global site tag (gtag.js) - Google Analytics