制作了一幅讲解 Wordpress 主题架构的图,非常清晰的剖析了 Wordpress 的主题模板结构,原图为英文,下面翻译成中文。

希望对制作 Wordpress 主题 (模板) 有一些帮助。

WordPress主题(模板)架构图解

 

中文文本如下:

图解 Wordpress 主题 (模板) 设计

(了解 Wordpress 博客如何运作)

header.php(网站头部)

这是一个全局文件 (易 IT 注:Wordpress 产生的每个页面都会包含 header.php 里的代码),显示页面的题头 (header) 和导航菜单,还包含了 HTML 文件的 head 代码 (<head>…</head>) 。< /p>

循环部分 (the loop,页面主体)

通过一个个包含 「循环 (loop) 结构」 的模板文件,在网站主要区域显示网站的主要内容。

sidebar.php(边栏)

这个文件控制边栏显示什么。如果有多个边栏,你可以在 functions.php 文件里设置,边栏 「小工具 (widgets)」 的内容可以在 WordPress 的管理控制面板 (wp-admin) 里设置。

footer.php(底部)

包含了全局的底部文件和关闭 HTML 标签 (</html>) 的代码。

WordPress 主题是由模板文件夹 (易 IT 注:../wp-contents/themes/模板名称/) 里一系列文件组成,每个文件都控制着模板的不同部分。无论在网站的哪个页面,这些页面的某些部分一般来说都是静态的,由 header,siderbar 和 footer 文件来控制。你可以通过修改这些文件,来看网站的哪些部分是通过哪些文件控制的。

主页 (home)

index.php

index.php 用来控制如何显示网站的主页。 index.php 里缺省地包含了一段查询和显示最新文章的循环代码 (loop),并在底部显示一个超链接,用来查看先前的文章。

另外,你也可以在 wp-admin>settings>read 里设置任何你在wordpress里创建的页面作为主页。也就是说,你可以设定不同的页面 (或 url) 作为常规的博客文章来作为主页来显示,而那个页面还是通过 index.php 模板产生的.

文章页 (posts)

single.php

single.php 用来控制文章页面如何显示。这个文件包含了查询和显示当前文章的循环。

如果你想显示边栏 (和其他想要显示的元素),你可以在这个文件里指定。你也可以通过修改这个文件来使文章页面和其他页面有所区别。

页面 (pages)

page.php

page.php 控制着 Wordpress Page(页面,不同与文章 posts) 的显示。你可以选择去掉边栏或其他元素,或增加一些只有 page 才有的元素。

WordPress 同时允许你创建不同的 page 模板,用来显示不同类型的 page(页面) 。创建 page 模板很简单,你只要拷贝 page.php, 改个你喜欢的名字,然后在文件顶部添加如下代码:

<?php

/*

Template Name: 你命名的页面模板文件名

/*

?>

归档 (archives)

archive.php, category.php,tag.php

你可以通过以上的文件来控制各种归档类页面的显示。如果没有归档类页面模板,那么归档页面会使用 index.php 来做模板;不过,你可以创建一个 archive.php 来替代 index.php 作为归档类页面的模板。如果你创建了 category.php, 这个文件会替代 archives.php 来作为分类页面 (categories) 的模板。如果你创建了 tag.php, 这个文件会优先作为标签页面 (tag) 的模板。

循环 (The Loop)

循环可能是 Wordpress 模板里最强大的部分。它从一个查询开始 (来决定要抓取哪篇文章或页面的数据),并已一个结束循环语句结束 (endwhile) 。循环里显示什么取决于你的需要。你可以在循环里显示文章标题、文章内容、元数据 (作者,日期等) 、自定义的域和评论等,这些元素都是某篇文章或页面的输出。你还可以在一个文章或页面创建多个查询和循环;比如:在 single.php(文章页面模板), 你可以创建一个循环来显示单个文章的内容,然后在文章内容下用另外一个循环来显示和这篇文章相关的文章的标题和缩略图。

文章和页面的查询机制

开始循环

(重复显示这和 endwhile 之间的所有内容,直到所有文章的相关内容都输出完)

the_title

(输出文章的标题)

the_excerpt

(输出文章的简介)

the_content

(输出文章的主体内容)

the_category

(输出文章的分类名称)

the_author

(输出文章的作者)

the_date

(输出文章的日期)

other tags

(可以在循环里插入其他各种模板里使用的标签)

Endwhile

(重复循环直到所有查询都已被输出)

幕后的其他机制

要让 Wordpress 主题模板工作,还需要后台的一些重要文件。你可以根据自己的需要修改这些文件,来定制网站的功能和如何显示。

comments.php

这个文件控制评论如何显示,文件里包含一个查询某篇文章所有评论的循环。 comments.php 可以被一些插件 (比如 Disques) 所覆盖,即这些插件可以接管网站的评论功能。

functions.php

functions.php 允许你加入自己的 php 代码,来修改 wordpress 主题的核心元素。通常这可以用来给自己的主题加入多个边栏 (sidebars) 、修改文章简介 (excerpt) 的字符数,或者给 wp-admin 添加自己的管理面板选项。

style.css

这是主题模板的主 CSS 样式文件。同时在这个文件的顶端,包含了含有主题名称、作者和你网站的 URL 等相关文字,这样 Wordpress 才能知道主题的这些信息。

其他

除了 Wordpress 的核心功能外,其他类似插件 (plugins) 、自定义域 (custom fields) 和小工具 (wedgets) 允许你进一步定制自己的网站。

插件 (Plugins)

有很多开源开发者社区开发了非常多的插件,你可以免费的将它们添加到你的网站上,包括电子商务、幻灯片 (slideshow) 、缓存和社会化功能等。

自定义域 (Custom Fields)

自定义域是在你创建一篇文章时,可以在文章内容输入框下方的输入框输入。通过自定义域,你可以创建自己的选项或内容,然后可以在主题模板里使用或显示它们。经常用到的有缩略图和用来包含 javascript 代码 (include) 。

小工具 (Widgets)

小工具是用于边栏 (sidebars) 里的各种小模块。在 wp-admin 里,你可以配置预设的小工具,也可以添加各种插件提供的小工具,或者 php 代码。小工具通常包括搜索表单、热门文章列表和广告区块等这样的内容。