WordPress 主题开发:从入门到精通(必读)
本专栏介绍如何开发设计你自己的 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 社区做出了自己的贡献 (增加技术圈内资质)。
在本专栏中能学习到哪些知识?
- WordPress 的深度使用技巧
- WordPress 的主题开发
- WordPress 的插件开发
- 独立制作一个完整的博客
- 独立制作一个完整的电子商务网站
WordPress 主题模板开发标准
WordPress 主题应该按照如下标准开发:
- 使用结构化的、没有错误的PHP和有效的HTML代码。请看 WordPress代码规范。
- 使用简洁的、有效的CSS。参见 CSS Coding Standards。
- 遵循设计指南。
主题的剖析
WordPress主题目录位于 wp-content/themes/。主题的子目录拥有所有样式文件、模板文件、可选的函数文件 (functions.php)、JavaScript 文件、图片等。比如说一个叫做 "test" 的主题就会放在 wp-content/themes/test/目录里。请避免使用数字名字,这会导致无法在主题列表中正常显示出来。
WordPress每一个发行版都会有一个默认的主题。请认真查看默认的主题,这样可能会对制作你自己的主题有帮助。
WordPress 主题除了图片和JavaScript,经常由三种文件构成。
- 样式表文件
style.css, 控制着页面的外观 - 函数文件 (
functions.php)。 - 模板文件,它控制着从数据库中调出的数据所呈现的外观。
- ...
让我们单独看一下。
主题样式表( 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: bachelor
This 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 主题开发:从入门到精通(必读)的更多相关文章
- Nginx开发从入门到精通 学习目录分享学习 (阿里著作)
Nginx开发从入门到精通 缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部 ...
- 黄聪:《跟黄聪学WordPress主题开发》
又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...
- C# Windows服务开发从入门到精通
一.课程介绍 大家都知道如果想要程序一直运行在windows服务器上,最好是把程序写成windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需要用户直接登录,直接开机就可以启动 ...
- wordpress 主题开发
https://yusi123.com/3205.html https://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tut ...
- 《Java 开发从入门到精通》—— 2.3 使用IDE工具序
本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.3节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 使 ...
- WordPress 主题开发 - (三) 开发工具 待翻译
Before we get started building any WordPress Theme, we’re going to need to get our development tools ...
- WordPress 主题开发 - (一) 前言 待翻译
原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...
- [转]WordPress主题开发:主题初始化
本文转自:http://www.cnblogs.com/tinyphp/p/4391182.html 在最简单的情况下,一个WordPress主题由两个文件构成: index.php -------- ...
- WordPress主题开发:style.css主题信息标记
在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css -------------------主样式表 而且s ...
随机推荐
- stm32F429启动时钟配置
STM32f429在启动时会在startup_stm32f429_439xx.s中调用static void SetSysClock(void)函数.默认使用的是25M晶振,把系统时钟设置为180M. ...
- (转)Cvte提前批
1. 加密解密了解么?几种算法,讲一下你了解的(链接) 算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA 常见加密算法 1.DES(Data Encryption ...
- 25 Python之模块与包
一.模块 模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/ 模块的分类: 1.使用python编写的py文件 2.已被编译位共享库或者DLL或 ...
- 什么是RTTI
参考: http://www.cnblogs.com/vamei/archive/2013/04/14/3013985.html 运行时类型识别(RTTI, Run-Time Type Identi ...
- 理解js异步编程
Promise 背景 javascript语言的一大特点就是单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码,也就是说,同一个时间只能做一件事. 怎么做到异步编程?回调函数.直到no ...
- Windows Electron初探
最近闲来无事,玩玩electron. 1.安装nodejs 下载地址:http://nodejs.cn/download/,下载64位.安装完成后,打开C:\Program Files\nodejs\ ...
- RT-Thread中的串口DMA分析
这里分析一下RT-Thread中串口DMA方式的实现,以供做新处理器串口支持时的参考. 背景 在如今的芯片性能和外设强大功能的情况下,串口不实现DMA/中断方式操作,我认为在实际项目中基本是不可接受的 ...
- 一,python简介 笔记
python历史 1,1989年圣诞节,Guido von Rossum开始编写python语言编译器 2,1991年2月,第一个python编译器诞生,是c语言实现的,后面又出现了c#和java版本 ...
- 七、Vue Cli+ApiCloud
一.api.js (参考) 顶部注释: 底部注释: 二.导入 效果: 继续使用: 运行环境:用APP打开,浏览器没有api对象,只有APP运行环境才有API对象 代码如下: <template& ...
- C#异步编程研究学习(一)
可以使用Func<T>或者Action<T>简单实现如: Func<string, string,string,string, int> func = new Fu ...