模板文件是构建WordPress的蓝图,它们如同拼图一般接合在一起从而形成了网站上的网页。某些模板(如header和footer模板)被用于所有的网页中,而其他的模板则根据实际情况各取所需。
网页一般含有2个文件:
- XHTML页面用来保持页面的结构和内容,而
- CSS风格页则决定页面的呈现风格。
在WordPress中,(X)HTML结构和CSS风格页本来就有,但内容(content)则是由各类模板文件所生成的。模板文件和风格页被存储在一起,即为WordPress主题。有关外观主题创建的更多信息请参阅主题开发。
WordPress页面结构
简单的WordPress网页结构由三个区块构成:页头,内容和页脚。而各区块则是由WordPress外观主题中的模板文件所生成的。
页头
内容
页脚
- 页头(header)包含了所有位于XHTML页面顶部的信息(即<head> 标签内的内容),如<doctype>,<meta> 标签以及风格页链接。它还包括了开头的<body>标记以及博客的可见页头(一般包括网站标题,还可以包括导航菜单,图标以及网站描述等。)。
- 内容(content)区块包含了博客文章和页面,即网站的"血肉"。
基本的模板文件
要在WordPress主题中生成这样的结构可以使用外观主题目录中的index.php模板文件。此文件起两个主要作用:
- 包括或"呼叫"其他模板文件
- 包括以WordPress循环收集数据库的信息(日志,页面,分类等)
对于上给出的简单结构,我们只需包括进2个模板文件即可:页头(header)和页脚(footer)。它们应分别被命名为header.php和footer.php。包括它们的模板标签应如:
<?php get_header(); ?> <?php get_footer(); ?>
为了能够显示博客日志和页面(并定制它们的显示方式),你的index.php 文件应当在页头和页脚呼叫之间运行WordPress循环。
较复杂的页面结构
页头
内容
边栏
页脚
许多WordPress外观主题包括一个或若干个含有导航功能和网站信息的边栏(sidebars)。边栏是由名为sidebar.php的模板文件所生成的。它被包括在index.php 模板文件中如下的模板标签中:
<?php get_sidebar(); ?>
注意,我们没有包括进模板标签以"获取"网页内容。这是因为内容是在WordPress循环中生成的,位于index.php之中。
另外请注意外观主题风格页决定了用户浏览器中所看到的页头,页脚,边栏及内容的呈现方式。有关WordPress外观主题及页面风格定义的详细信息请参阅博客设计和布局….
模板文件之中的模板文件
你已经知道了WordPress在index.php 模板文件中包括了标准额模板文件(页头,页脚和边栏)。你还可以在模板文件中包括进其他模板文件。
例如,sidebar.php 可能含有可以生成搜索表单的模板文件—searchform.php。因为这并不是WordPress的标准模板文件,因此要包括的代码可能会有些不同:
<?php include (TEMPLATEPATH . '/searchform.php'); ?>
我们使用PHP命令include来包括文件,而不使用WordPress模板标签。 这就需要知道文件所处的位置了(TEMPLATEPATH 是WordPress中一个特殊的变量,它直接指向外观主题的模板文件目录)。
页头
内容
评论表单
边栏
搜索表单
页脚
大部分WordPress外观主题都在其他模板文件中包括某一类模板文件以生成网页。以下的模板文件为WordPress网站主要模板(index.php)之典范:
-
header.php
- theloop.php (内容)
- wp-comments.php
-
sidebar.php
- searchform.php
- footer.php
此结构是可以修改的。比如你可以在页头中放入搜索表单。比如,你自己的模板不需要页脚时,还可以撇去页脚模板不管。
特殊的模板文件
WordPress网页有两个核心页面视图。当网页显示单篇日志时使用单篇日志视图。而多日志视图则列出多篇日志或日志摘要,并且应用于分类归档,日期归档,作者归档以及博客主页的一般视图。你可以使用index.php模板文件来生成这些类型的页面,或依靠WordPress的模板层级,并根据需要选择不同的模板文件。
WordPress模本分层能够解决如下问题:
当显示某特定类型的页面时,WordPress将使用什么模板文件?
WordPress会自动识别具有特定标准明朝的模板文件,并将它们用于特定类型的网页。例如,当某个用户点击某博文的标题时,WordPress就知道该用户仅希望看该文章的网页。那么WordPress 模板层级就会使用single.php模板文件而不是index.php文件来生成该页面 — 如果你的外观主题具有single.php文件的话。类似地,如果用户点击某分类的链接,WordPress就会使用category.php模板;如果该目标不存在的话,WordPress就会搜索archive.php。如果仍无法找到的话,WordPress会继续使用主要的index.php模板。你可以为特定分类制作特殊的模板文件(详细信息请见分类模板)。
分类:中文手册