WordPress教程(六):编写子主题

WordPress教程(六):编写子主题




需求背景

使用现成的主题可能能满足大部分需求,但是很快,我们就会发现我们的网站需要有自己的风格,既个性化风格,一个优秀的自建站玩家,一般是分为3类的,如下:

  • 只使用现成主题,甚至付费使用更好的主题

  • 独自编写拥有自己风格的主题

  • 魔改族,对已有的主题进行魔法改造(既修改主题)

当然,魔改族的方法,可能是目前为止特别是对于新站长最容易拥有自己主题的方法,我们不需要从0开始编写主题,而是选择在已有的基础上增加自己的个性化代码,完成个性化需求。本章就告诉大家要对一个主题进行魔力改造需要了解的知识。

博客魔改所需要掌握的准备知识

要魔改一个主题,首先要知道Wordpress的主题开发的基本结构,wordpress的所有主题文件均在\wp-contents\themes目录下,在此目录下拥有以主题英文名为名字的文件夹,比如本站就是home,一个独立主题至少拥有以下元素:

  • style.css主题风格文件
  • function.php各种主题函数所在的文件

而一个独立主题的style.css必须带有如下格式的注释:

/*
Theme Name: 主题名字
Theme URI: 主题官方地址
Author: 作者
Author URI: 作者首页
Description: 简介
Version: 版本
License: 所使用的授权协议
License URI: 授权协议的文本地址
Tags: 标签
Text Domain: 本地化标记
*/

对于我们魔改族,不需要按照独立开发主题的方法,而是选择继承与已有的主题进行开发,其style.css的格式如下:

/*
Theme Name:     子主题名字
Theme URI:      主题官方页面
Description:    本主题的一些说明
Author:         作者
Author URI:     作者首页
Template:       (重要)父主题的名字
Version:        子主题版本     
*/

除此之外,还应该了解一下特点:

  1. 子主题的所有文件优先于父主题加载

  2. style.css作为子主题样式表,不会直接加载父主题样式表,需要子主题的style.css使用导入语句加载,如

    @import url("../nisarg/style.css");
    
  3. 对于function.php而言,通常而言是子主题优先,作为父主题的一种补充,编写子主题的function.php不会替换父主题的function.php

  4. 对于子主题开发而言,我们需要知道的是主题目录和样式表目录的概念,这将影响子主题的开发,通俗的讲:主题目录指的是父主题的目录,所有的子主题,均为样式表目录

  5. 对wordpress认可的模板文件(除style.cssfunction.php外)子主题会替换父主题的相应文件。

  6. 对于wordpress认可文件以外的自定义模板文件,看其调用所在目录而定,为独立文件。

魔改主题的基本结构

基本目录结构如下:

wordpress
├── wp-admin
├── wp-content
│   ├── languages
│   ├── plugins
│   └── themes
│       ├── home
│       │   ├── functions.php
│       │   └── style.css(必须存在)
│       └── nigarg
└── wp-includes

魔改主题的基本步骤

当我们准备完一个子主题的必要文件后,我们的子主题至少应存在style.cssfunction.php,我们需要开始对主题进行魔改,一般按照如下步骤:

  1. 确定要修改的父主题对应文件和功能模块
  2. 拷贝父主题相应功能或模块到子主题
  3. 修改父主题函数名,修改实现
  4. 对于自定义实现的功能,函数实现在以function.php引导的文件中,养成良好的开发习惯
  5. 对于需要补充的css,写入style.css文件中

开发过程中需要注意:

  • wordpress存在大量的Action、Filter的过滤器hook和其功能函数,养成阅读文档的好习惯。
  • js和css的加载尽量使用规范的wp_enqueue_scriptswp_enqueue_style
  • 不要在父主题中直接修改,很多人可能会问,为什么我们需要子主题才能魔改,其实父主题也是可以直接改的,但是因为父主题通常是别人维护的,可能发生更新行为,一旦更新,你的改动就可能失效甚至丢失,所以,在子主题进行功能改造,不要去动父主题
打赏

说点什么

avatar
  订阅  
提醒

扫码二维码快速访问本页

WordPress教程(六):编写子主题 – 起航天空