本专栏介绍如何开发设计你自己的 WordPress 主题。如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档。本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容,而非怎样去激活主题或者是哪里可以获得新主题。

为什么要使用 WordPress 主题?

WordPress 主题由一系列文件和 CSS 样式表构成,构成了一个美丽的 WordPress 网站。每个主题都是不同的, 这样WordPress用户就可以随时更改 WordPress 网站的外观。

你也许想为自己开发 WordPress 主题,或者制作公开发行的的主题。但是除了这个为什么要自己制作主题呢?

  • 创建自己独特的 WordPress 主题外观.
  • 利用模板, 模板标签, 和 WordPress 循环 来产生不同的效果.
  • 为了产生不同的效果,比如在 category pages 页面和搜索结果页面产生个性的效果.
  • 为了迅速从两个主题改变你的博客外观,可以充分利用 Theme or style switcher 这个插件迅速改变外观.
  • 设计 WordPress 主题,这样大家就可以通过网络更好的使用你的作品.

WordPress 主题有很多优点.

  • WordPress 主题把 CSS 样式表和模板文件 从系统中独立出来,所以这样升级博客的时候就不会破坏你的主题样式.
  • 允许你自由的定制主题样式.
  • 允许你迅速改变主题.
  • 你甚至都不需要学习HTML,CSS,PHP 等,即可拥有一个美观的主题.

为什么要自己制作主题呢?这才是问题的关键.

  • 这是一个学习 CSS,HTML,和 PHP 的好机会。
  • 这是一个积累你的 CSS,HTML,PHP 实践经验的的机会。
  • 制作主题的过程中充满创造力。
  • 这非常的有趣(大多数情况下)。
  • 如果你 设计公共主题, 你会感觉非常好,因为你为 WordPress 社区做出了自己的贡献 (增加技术圈内资质)。

在本专栏中能学习到哪些知识?

  1. WordPress 的深度使用技巧
  2. WordPress 的主题开发
  3. WordPress 的插件开发
  4. 独立制作一个完整的博客
  5. 独立制作一个完整的电子商务网站

WordPress 主题模板开发标准

WordPress 主题应该按照如下标准开发:

  • 使用结构化的、没有错误的PHP和有效的HTML代码。请看 WordPress代码规范。
  • 使用简洁的、有效的CSS。参见 CSS Coding Standards。
  • 遵循设计指南。

主题的剖析

WordPress主题目录位于 wp-content/themes/。主题的子目录拥有所有样式文件、模板文件、可选的函数文件 (functions.php)、JavaScript 文件、图片等。比如说一个叫做 "test" 的主题就会放在 wp-content/themes/test/目录里。请避免使用数字名字,这会导致无法在主题列表中正常显示出来。

WordPress每一个发行版都会有一个默认的主题。请认真查看默认的主题,这样可能会对制作你自己的主题有帮助。

WordPress 主题除了图片和JavaScript,经常由三种文件构成。

  1. 样式表文件 style.css, 控制着页面的外观
  2. 函数文件 (functions.php)。
  3. 模板文件,它控制着从数据库中调出的数据所呈现的外观。
  4. ...

让我们单独看一下。

主题样式表( style.css )

CSS文件不仅定义了你的主题样式,style.css *必须 以注释的形式列出主题的详细信息。*两个不同的主题是不允许拥有相同的表述的 , 因为这样会导致主题选择出错.如果你通过拷贝一个你已经制作的主题来制作你新的主题,请确保先更改这些头部注释.

下面是样式表头部注释的例子,被称作样式表头注释。比如主题"Bachelor":

/*
Theme Name: Bachelor
Theme URI: http://taper.io/themes/bachelor
Author: Ayuan
Author URI: http://taper.io/
Description: The Bachelor theme for TaperLabs takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: bachelorThis theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

在接下来的文章里,我将从 WordPress 主题文件结构开始,讲解并创建实例来分别讨论函数文件、模板文件、基本模板、自定义页面模板、搜索查询模板、定义模板、模板的引用、插件 API 钩子等的用法及机制。快速简单的入门到了解这一方便简洁的开源 CMS 系统中。

WordPress 主题开发:从入门到精通(必读)相关推荐

  1. 《iPad开发从入门到精通》——6.6节系统设置

    本节书摘来自异步社区<iPad开发从入门到精通>一书中的第6章,第6.6节系统设置,作者 杨春泽,更多章节内容可以访问云栖社区"异步社区"公众号查看 6.6 系统设置 ...

  2. [分享] 新书推荐 -《黑莓(BlackBerry)开发从入门到精通》 | 黑莓时光

    今天看到一本刚出版不久的书,<黑莓(BlackBerry)开发从入门到精通>,属于技术类书籍,通过 18 章的内容,介绍了BlackBerry 开发平台简介.BlackBerry 开发平台 ...

  3. modern php_使用Modern.IE改善WordPress主题开发

    modern php This article was sponsored by modern.IE Thank you for supporting the sponsors who make Si ...

  4. python 3.x 全栈开发从入门到精通_GitHub - cxinping/PythonFullStack: 《Python 3 全栈开发从入门到精通》配套代码...

    <Python 3 全栈开发从入门到精通> 为什么要编写本书? 本书作者均来自开发和教育第一线,具备丰富的实际研发和培训经验.在对学校和企业的培训中,针对学校和企业的实际开发需要,定制了全 ...

  5. 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.2节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 编 ...

  6. 《Visual C++ 开发从入门到精通》——2.7 变量

    本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第2章,第2.7节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  7. 《ASP.NET 开发从入门到精通》----2.3 编译和部署ASP.NET程序

    本节书摘来自异步社区<ASP.NET 开发从入门到精通>一书中的第2章,第2.3节,著 张明星 ,责任编辑 张 涛, 更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. 《51单片机应用开发从入门到精通》——2.2 跑马灯实例

    本节书摘来自异步社区<51单片机应用开发从入门到精通>一书中的第2章,第2.2节,作者 张华杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 跑马灯实例 ...

  9. 《libGDX移动游戏开发从入门到精通》一第2章 libGDX的架构分析

    本节书摘来异步社区<libGDX移动游戏开发从入门到精通>一书中的第2章,第2.1节,作者: 黄俊东 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  10. 《C++ 开发从入门到精通》——第2章 C++的重要特质分析2.1 什么是面向对象(object-oriented)...

    本节书摘来自异步社区出版社<C++ 开发从入门到精通>一书中的第2章,第2.1节,作者: 王石磊 , 韩海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2 ...

最新文章

  1. Only fullscreen opaque activities can request orientation
  2. 卷积神经网络(卷积层,激活函数Relu,池化层,计算公式及API解释)
  3. VTK:模型之SmoothDiscreteMarchingCubes
  4. Android WebView Error – Uncaught TypeError: Cannot call method ‘getItem’ of null at
  5. spring-boot (9)---STS 新建一个spring-boot rest 项目
  6. 洛谷2017-2月月赛
  7. css legend框大小,CSS-如何给 legend 标签设定宽度
  8. 《js读取本地json文件》及浏览器跨域设置、《js保存json到本地》
  9. kuangbin线段树专题
  10. Windows 中剪贴板的操作
  11. php用redis实现队列,PHP使用Redis实现队列
  12. [深度学习概念]·CNN网络架构演进:从LeNet到DenseNet(代码实现基于Keras)
  13. python3 解决除法中循环小数计算并判断循环体
  14. alertmanager集群搭建
  15. 红米8.0系统手机(亲测有效)激活xposed框架的经验
  16. 乐视X625手机刷机(全三个版本)官方包附刷机教程OEM解锁
  17. 我的世界服务器启动txt文件,我的世界服务器开启设置全攻略 我的世界开服图文详细教程...
  18. signature=5beb9c95e4bde36fb7ac6f12f6f6f1e5,MS12-055:Windows 内核模式驱动程序中的漏洞可能会允许特权提升:2012 年 8 月 14 日...
  19. 机器人瓦力有什么西方的风格_机器人瓦力观后感 英文
  20. C++数组练习题(一)

热门文章

  1. 功能强大,界面简洁,这三款实用软件,每一款都独一无二
  2. iterate mysql_ITERATE
  3. webpack性能优化-optimization.splitChunks.chunks中的“all“、“async“和“initial“
  4. java-net-php-python-jspm图书馆座位预订系统计算机毕业设计程序
  5. QML(Qt Quick) 按钮设计指南
  6. SCI期刊简介:JOURNAL OF EXPERIMENTAL CLINICAL CANCER RESEARCH
  7. android混淆保留内部类,混淆jar包总结
  8. Verilog signed函数
  9. 离谱!两高中生用AI生成裸照,疯狂「变现」...
  10. JavaBean(知识总结)