开始制做WordPress主题以前,首先得了解WordPress主题到底由哪些文件构成,你得清楚WordPress程序是怎样与主题文件链接的。通常来说一个主题至少须要包含两个文件:index.php和style.css。 php
细的来讲,可能存在的文件有: css
主页: app
- home.php
- index.php(这个算是万能的了)
文章页: ide
- single-{post_type}.php – 若是文章类型是videos(即视频),WordPress就会去查找single-videos.php(WordPress 3.0及以上版本支持)
- single.php
- index.php
页面: 函数
- xxx.php(文件名随便),自定义页面模板 – 在WordPress后台建立页面的时候,右侧边栏能够选择页面的自定义模板
- page-{slug}.php – 若是页面的缩略名是news,WordPress将会查找 page-news.php(WordPress 2.9及以上版本支持)
- page-{id}.php – 若是页面ID是6,WordPress将会查找page-6.php
- page.php
- index.php
分类模板: post
- category-{slug}.php – 若是分类的缩略名为news,WordPress将会查找category-news.php(WordPress 2.9及以上版本支持)
- archive-{post_type}.php--若是你的主题有自定义文章类型,好比按照官方网站教程,注册了一个名为book的文章类型,那么它的归档页面模板就是category-book.php,若是没有这个文件,它是不会使用其它文件来代替的,将会直奔404
- taxonomy-{taxonomy_slug}.php-这是自定义分类法的分类页,好比上面你注册了一个book的文章类型,而后你注册一个分类法author,它的别名是authors,以便让文章按做者分类。那么这个做者分类页的模板文件就是taxonomy-authors.php
- category-{id}.php -若是分类ID为6,WordPress将会查找category-6.php
- category.php
- archive.php
- index.php
标签 网站
- tag-{slug}.php – 若是标签缩略名为sometag,WordPress将会查找tag-sometag.php
- tag-{id}.php – 若是标签ID为6,WordPress将会查找tag-6.php(WordPress 2.9及以上版本支持)
- tag.php
- archive.php
- index.php
做者: 视频
- author-{nicename}.php – 若是做者的昵称为rami,WordPress将会查找author-rami.php(WordPress 3.0及以上版本支持)
- author-{id}.php – 若是做者ID为6,WordPress将会查找author-6.php(WordPress 3.0及以上版本支持)
- author.php
- archive.php
- index.php
日期页面: 教程
- date.php
- archive.php
- index.php
搜索结果: 博客
- search.php
- index.php
404 (未找到)页面
- 404.php
- index.php
附件页面:
- MIME_type.php – 能够是任何MIME类型 (image.php, video.php, audio.php, application.php 或者其余).
- attachment.php
- single.php
- index.php
函数
- functions.php
评论模板
关于上面的文件层次结构
上面除了自定义文章类型,和自定义分类法须要固定的模板来显示对应内容,其它的,若是缺乏对应文件,能够用其它文件代替。以主页为例,下面有2个文件home.php和index.php,WordPress程序会从你的主题文件夹中依次查找这两个文件,若是找到home.php,则使用home.php做为博客首页模板,即便你的主题文件夹中有index.php;若是home.php未找到,则使用index.php做为首页模板;若是home.php和index.php都找不到,你的主题将不会被WordPress识别,等于废物。
对于上面这么多文件,不必定所有备齐,须要什么模板采用到,对于复杂一点的主题,一般会有不少php函数,为了有清晰的层次结构,做者通常会将代码分装在其它的php文件中,能够在functions.php使用include_once等函数包含文件