深度剖析WordPress主题结构(转)
利用强大的技术,可以把基于wordpress的网站做成各种各样的形式,这除了要求wordpress主题开发人员精通html,PHP,JS,CSS等技术,还需要开发者掌握WordPress主题的框架。
Gevin今天结合The anatomy of a WordPress theme这篇文章,和大家一起剖析WordPress主题的结构。原文作者用图文形式,分别从网站外观、页面组成和后台文件三个方面,形象的向大家展示了WordPress的架构,下面Gevin和大家一起分析WordPress是如何架构的。
网站外观
WordPress主题由一系列模板文件组成,每个模板文件控制主题的一部分。无论在博客的哪个个页面上,主题的框架总有一部分是不变的,这是主题的静态部分,它由header.php, sidebar.php 和 footer.php三个文件控制。
我们可以修改这些文件,以便检测我们浏览的页面,并显示不同的内容,如在posts页面和page页面显示不同的导航。然而,通常,我们会让静态部分在整个网站上保持一致的风格。
网站外观由下面4个部分的代码控制:
header.php
显示博客头和导航,也包含html代码
The Loop
显示网站主题内容的模板文件称为The Loop(后面会详细介绍)。
sidebar.php
侧边栏由这个文件控制。多侧边栏的主题可以在functions.php中添加控制。
footer.php
网站的页尾和html的关闭标签。
页面组成
WordPress基本页面有Homepage(index.php控制),Post页面(单独显示一篇完整博客,由single.php控制),独立页面(page.php控制),存档(archive.php等控制),下面分别介绍这几个控制这几个页面的代码文件。
index.php – home
index文件控制博客homepage的外观。默认情况下,index文件通过一个loop来显示最新博客,homepage底部还会由一个查看以前博客的链接。
single.php – individual posts
该文件用于显示读者要查看的特定博客全文。
page.php – individual pages
该文件控制博客中独立页面的外观。
WordPress允许我们为不同的独立页面(pages)设计不同的模板,方法如下:
1、复制page.php并重命名
2、在文件的最上方添加下面代码
- <?php
- /*
- Template Name: YourPageNameHere
- */
- ?>
archive.php, category.php, tag.php – archives
我们同样可以自定义存档(archives)的外观。如果没有archive.php文件,存档和主页是一模一样的;然而,我们可以创建一个archive.php文件重构存档页面。如果创建category.php文件,存档页面会被覆盖为只显示目录;如果创建tag.php文件,存档页面会被覆盖为只显示标签。
The Loop
Loop恐怕是WordPress最强大的部分。它是“循环的查询结果”。循环体中我们可以依次输出选中文章的标题,博客内容,元数据,评论等。我们还可以在single page中使用多个loop。例如,我们可以用一个loop显示博客全文,另一个loop显示相关文章的标题和缩略图。
The Loop结构如下:
- Query post or page
- Start Loop //循环开始
- the_title (outputs the title of the post) //标题
- the_excerpt (outputs the post excerpt) //摘要
- the_content (outputs the full post content) //内容
- the_category (outputs the post categories) //目录
- the_author (outputs the post author) //作者
- the_date (outputs the post date) //日期
- other tags (there is a variety of other tags you can use in the loop) //标签
- endwhile; //结束循环
- Exit the loop //退出循环
WordPress的后台文件
为了让主题工作,WordPress还需要一些必要的后台文件。这些文件可以根据个人需求进行修改,它们能够从极大程度上改变网站的外观或提供更强大的功能。
comments.php
这个文件控制评论的输出,如果您希望在博客上提供评论功能,要把它放到loop中去。Comment.php文件可以被插件覆盖(如Disqus)
functions.php
Functions.php让我们在WordPress上运行自定义代码,以便更自由的修改主题元素。
style.css
这是控制主题样式的主要CSS文件。该文件顶部还包含主题的元信息,用于提供主题的名字,作者及相关链接
图文剖析
下面是原作者强大的WordPress剖析图:

深度剖析WordPress主题
深度剖析WordPress主题结构(转)的更多相关文章
- 分析WordPress主题结构是如何架构的?
利用强大的技术,可以把基于WordPress的网站做成各种各样的形式,这除了要求WordPress主题开发人员精通HTML,PHP,JS,CSS等技术,还需要开发者掌握WordPress主题的框架.下 ...
- wordpress主题结构_源码
WordPress博客主题的工作机制 WordPress主题由一系列模板文件组成,每个文件分别控制主题的特定区域.无论你处于哪个页面都能看到的网站的静态部分,由header文件.sidebar和foo ...
- Wordpress主题站
深度剖析WordPress主题结构 http://down.chinaz.com/try/201106/640_1.htm wordpress工作原理 http://blog.csdn.net/liu ...
- WordPress 主题开发:从入门到精通(必读)
本专栏介绍如何开发设计你自己的 WordPress 主题.如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档.本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容, ...
- 从无到有开发自己的Wordpress博客主题---Wordpress主题的构造
在这篇教程中,主要是对Wordpress的主题的构造进行分析,以方便今后的开发工作. 本来打算就引用一下别人已经有的文档就好了,但还是想从头到尾捋一遍,也方便自己梳理学习. 1.Wordpress主题 ...
- WordPress主题制作教程[壹] - 了解WP&结构&索引
最近开始筹备WordPress主题开发了.首先我们在此章节中进行了解什么是WP,以及WP的结构.通过这个文章索引到以后所写的WP系列教程. (抱歉,大家不要急,持续更新中....) 1.首先,我们来认 ...
- wordpress主题制作结构文件
下面是WordPress主题文件层次结构,它会告诉你:当WordPress显示特定的页面类型时,会使用哪个模板文件呢?只有了解了以下主题层次结构,你才能知道你的WordPress主题到底需要写哪些文件 ...
- 2015年最有价值的30个响应式WORDPRESS主题
http://www.chinaz.com/design/2015/0521/408204.shtml 必须承认,Wordpress依然是目前最流行.最易用的内容管理系统,合理地使用Wordpress ...
- 黄聪:《跟黄聪学WordPress主题开发》
又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...
随机推荐
- codeforces 333B - Chips
注意:横向纵向交叉时,只要两条边不是正中的边(当n&1!=1),就可以余下两个chip. 代码里数组a[][]第二维下标 0表示横向边,1表示纵向边. #include<stdio.h& ...
- Java [Leetcode 70]Climbing Stairs
题目描述: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either ...
- TCP协议的一些问题
1 连接握手三次 解释1:已失效的连接请求报文段 情况下如下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server.本 ...
- Android-AnimationDrawable(一)
大家平时见到的最多的可能就是Frame动画了,Android中当然也少不了它.它的使用更加简单,只需要创建一个 AnimationDrawabledF对象来表示Frame动画,然后通过addFrame ...
- “自私”的Linux
导读 “如果当时我真的知道从头建立一个操作系统的难度,肯定是不会有勇气去做的.”1991年8月25日,随着林纳斯·托瓦兹(Linus Torvalds)这句“天真”的描述,Linux系统正式与世人见面 ...
- [Everyday Mathematics]20150128
求极限 $$\bex \lim_{x\to 0}\sex{\frac{e^x+e^{2x}+\cdots+e^{nx}}{n}}^\frac{1}{x}. \eex$$
- 【windows核心编程】DLL相关(1)
DLL相关的东西 1.DLL的加载方式 隐式: #pragma comment(lib, "XX.lib"); 编译器去查找名为XX.dll的DLL,除了名字相同,该DLL和该LI ...
- 从python的yield说起
前段时间在读trac 中wiki模块的源码的时候,发现了很多地方都使用了yiled这一关键词, 感觉是在需要返回某个值的地方通过yield来代替return, 不是很明白其用法,所以仔细研究下. 一个 ...
- Lucene学习笔记: 四,Lucene索引过程分析
对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(merge segments)的过程,本次不包括这两部分,将在以后 ...
- linux 系统常用命令
临时性的完全关闭防火墙,可以不重启机器: #/etc/init.d/iptables status ##查看防火墙状态 #/etc/init.d/iptable stop ...