自己动手从头开始编写一个WordPress主题
2013年11月19日 15:12:45 WordPress ⁄ 共 2359字 暂无评论 ⁄ 被围观 2,223次

虽然现在免费的WordPress主题满天飞,但做为一个Geek你有没有考虑过写一个属于自己的Wordpress主题呢。这篇文章就教你如何从最基础开始做一个Wordpress主题。

主题的文件结构

写之前首先要了解一下Wordpress主题的结构。

WordPress主题放在wp-content/themes/下,做为一个独立的文件夹存在。文件夹的名字随意,但不要使用纯数字,否则会导致主题无法在主题列表中正常显示。主题文件夹中包含该主题需要的所有样式文件、模板文件、函数文件、JavaScript脚本 文件、静态文件等。

一个最小的主题通常由三类文件组成:

  • 样式表文件 style.css
  • 函数文件functions.php(可选)
  • 模板文件

注意,这些文件的名称是固定的,不能随意更改。

下面我们就来分别看一看每个文件有什么作用。

样式文件

style.css是一个主题的必选文件,因为其中包含了对这个主题的描述信息。一个style.css的头部信息如下:

/*
Theme Name: 主题名称(必选)
Theme URI: 主题的地址,可选,格式为一个URL,如http://wordpress.org/
Description: 对主题的描述,会显示在主题列表中。
Author: 作者
Version: 版本,如1.0 
Tags: 给主题加的一些标签,可选,一般是为了让用户更方便搜索到这个主题。
*/

需要注意的是,每个主题都应该有一个自己的主题名称(Theme Name),以便于在主题列表中可以区分。

函数文件

除非你建立一个纯静态的主题,否则你一定会调用到Wordpress的API。这些主题所要用到的函数就写在functions.php文件中。你可以以Wordpress自带主题中的functions文件做为参考。

模板文件

模板文件不是一个文件,而是一类php文件。它们决定了你每个页面的最终显示效果。模板文件遵循一定的命名规则,下面是每个模板的名称和用途。

模板文件说明

index.php

主模板。如果你的主题使用自己的模板,index.php 是必须要有的。

comments.php

评论模板.

front-page.php

首页模板,仅用于开启静态首页时。

home.php

主页模板,默认的首页。如果你开启了静态首页这是展现最新的文章的模板页面。

single.php

单独页面模板。显示单独的一篇文章时被调用。对于这个以及其他的请求模板,如果模板不存在会使用 index.php。

single-.php

自定义单独页面模板。例如,single-books.php 展示自定义文章类型为books的文章. 如果文章类型未被设置则使用index.php。

page.php

页面模板,独立页面调用。

category.php

分类模板,分类页面调用。

tag.php

标签模板,标签页面调用。

taxonomy.php

术语模板,请求自定义分类法的术语时使用。

author.php

作者模板,作者页面调用。

date.php

日期/时间模板,按时间查询时使用的模板。

archive.php

存档模板,查询分类,作者或日期时使用的模板。需要注意的是,该模板将会分别被category.php, author.php, date.php所覆盖(如果存在的话)。

search.php

搜索结果模板,显示搜索结果时使用的模板。

attachment.php

附件模板,查看单个附件时使用的模板。

image.php

图片附件模板,当在wordpress中查看单个图片时将调用此模板,如果不存在此模板,则调用attachment.php 模板。

404.php

404 错误页面模板,当WordPress无法查找到匹配查询的日志或页面时,使用404.php文件。

没有特别的数量要求,你甚至可以仅仅使用一个文件index.php作为模板文件,所有 页面都会使用这个模板,多数情况下,你会有多个模板来显示不同的页面。具体模板的调用顺序可以参考下图(点击后看大图):

http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

一个最简单的主题

知道了上面这些之后,我们来看一个最简单主题例子。首先,这个主题包含下面几个文件:

  • style.css
  • index.php
  • single.php
  • header.php
  • sidebar.php
  • footer.php

style.css的内容上面已经提及,你只需要补充自己需要的css就可以了。

header.php, sidebar.php, footer.php分类是页面的顶部、边栏、尾部。文章采用single.php作用模板,其它页面(如主页)会采用index.php做模板。

index.php的内容为:

<?php get_header(); ?>

首页和其它页面。

<?php get_sidebar(); ?>

<?php get_footer(); ?>

文章页面模板single.php为:

<?php get_header(); ?>

<h1><?php the_title();  ?></h1>

<div><?php the_content();  ?></div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

这样,我们一个最简单的模板就完成了。剩下的就是你自己根据你的需要为其添加样式和内容了。另外在模板中所有你可能用到的Wordpress函数在这里都可以找到:WordPress Function Reference

还有想说的,如果你不是非常的Geek,大可不必从头开始写模板文件,每个Wordpress发行版中都会默认的提供了一两个模板,它们完全可以做为你写模板的参考。

原文链接:http://www.hostucan.cn/article/5125

给我留言

留言无头像?