WordPress-Theme的制作
以下内容建立在有部分HTML基础下,如果有疑问可以Twitter我,EMAIL我,MSN我,留言我,电话我,etc,但是不要QQ我~
WP的主题所在文件夹为XXX\wp-content\themes\,里边每个包都是目录(如果正常的话)。
先来讲下主题的组成,可以先参考这个文章《WordPress -Template System模板系统》。
从该文章中我们可以发现,最最最简单的WP皮肤只需要一个文件,index.php,出于维护和多方合作开发以及修改的简便性来说,个人觉得一个主题至少应该分成以下几个部分:
header.php,里边放HTML的头部,一般是包含文档声明到body开始处,有时候也会包含菜单部分。
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>< ?php bloginfo('name'); ?> < ?php if ( is_single() ) { ?> Blog Archive < ?php } ?> < ?php wp_title(); ?></title>
..................
<body>
调用header的方法为
< ?php get_header() ?>
sidebar.php,内容一般为很多页面需要调用的边栏,或者特殊定制过的底部,顶部内容都可以。通常都是放分类列表,链接,以及最近回复等内容。
调用sidebar的方法为
< ?php get_sidebar() ?>
footer.php,顾名思义,就是底部的内容,一般都是版权声明等内容加上HTML的结束部分,如:
<div class="clear"></div>
<!--bof links-->
<div id="links">
< ?php wp_list_bookmarks("title_li=&categorize=0&before=&after=&orderby=id&limit=6&between="); ?>
</div>
<!--eof links-->
<div id="footer">
Copyright 2009
</div>
<!--eof wapper-->
</body>
</head></html>
调用footer的方法为
< ?php get_footer() ?>
以上是主题文件的几个组成部分,所有页面可以有他们组合而成,比方说index页面,可以是这样写:
< ?php get_header() ?> < ?php get_sidebar() ?> ...//这里是内容区,具体可做的2次开发下次讲 < ?php get_footer() ?>
还有就是搜索条的那块,使用
< ?php get_search_form(); ?>
调用,你可以在右边发现这个东西。
这样index页面就会header,sidebar和footer组成了。在文件里可以使用
< ?php require("sidebar3.php");?>
之类的格式包含不同的文件。
接下来讲几个常用页面的具体内容,根据《WordPress -Template System模板系统》里的模板优先级,在左边的模板文件存在下,页面模板从左边的取,取不到的时候会一次往右寻找模板文件,左边的模板文件边上的链接就是会跳到该模板的链接。
home.php,该模板文件为默认首页模板,一般都不会使用该文件,而直接让index.php来当首页模板。不重要。
single.php,这个是具体日志页的模板,一般都需要这个文件,方便定义日志页的内容。重要!
pagename.php和page.php,这个是定义具体page页时用的,尤其page页经常用中文当标题,所以这个用不太到,而用另外的办法来控制输出某一个page_id的内容,比如WP_Query("page_id=xx")。通常不同的page都是用不同的模板来定义,所以这2个不太重要!
category-x.php和category.php,点击分类链接时的页面模板,这个到是经常用到。可以使用category-x.php来直接定义cat_ID为x的分类页,或者在category.php做判断。重要!
author.php,用户信息页,基本上,这个用不到,对于特殊用途的皮肤可能会用到,重要度不高。
search.php,搜索结果页,这个嘛,还比较有用。
404.php,这个就是404页了。。。重要不?你说呢?
模板文件,文件名随意,但是开头一定要是:
< ?php /* Template Name: xxx(此处模板名)*/ ?>
上传之后在新建页面处就可以选择使用了。
模板页的格式和其他主题文件差不多,也可以由多个部分拼接,内容和具体的API也一样。
此外,主题文件就是一般的PHP文件,里边可以使用所有PHP语法。