WordPress 是目前世界上使用最广泛的博客系统,是一款开源的PHP软件,下面整理了一下制作WordPress主题的相关知识。

WordPress主题加载顺序

WP_CheatSheet_TemplateMap

WordPress主题模板层次

首页

home.php
index.php

文章页

single-{post_type}.php – 如果文章类型是videos(即视频),WordPress就会去查找single-videos.php(WordPress 3.0及以上版本支持)
single.php
index.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

分类

category-{slug}.php – 如果分类的缩略名为news,WordPress将会查找category-news.php(WordPress 2.9及以上版本支持)
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


WordPress主题中对页面的判断

<?php
is_home()		// 是否为主页
is_single()		// 是否为内容页(Post)
is_page()		// 是否为内容页(Page)
is_category()	 	// 是否为Category/Archive页
is_tag()		// 是否为Tag存档页
is_date()		// 是否为指定日期存档页
is_year()		// 是否为指定年份存档页
is_month()		// 是否为指定月份存档页
is_day()		// 是否为指定日存档页
is_time()		// 是否为指定时间存档页
is_archive()		// 是否为存档页
is_search()		// 是否为搜索结果页
is_404()		// 是否为 “HTTP 404: Not Found” 错误页
is_paged()		// 主页/Category/Archive页是否以多页显示
?>

判断Tag在WordPress主题里常用于侧边栏(sidebar.php)模板文件


WordPress模板header中常用函数

<?php
bloginfo('name')		// 博客名称(Title)
bloginfo('stylesheet_url')	// CSS文件路径
bloginfo('pingback_url')	// PingBack Url
bloginfo('template_url')	// 模板文件路径
bloginfo('version')		// WordPress版本
bloginfo('atom_url')		// Atom Url
bloginfo('rss2_url')		// RSS 2.o Url
bloginfo('url')			// 博客 Url
bloginfo('html_type')		// 博客网页Html类型
bloginfo('charset')		// 博客网页编码
bloginfo('description')		// 博客描述
wp_title()			// 特定内容页(Post/Page)的标题
?>

WordPress主题模板常用的函数

<?php
get_header()			// 调用Header模板
get_sidebar()			// 调用Sidebar模板
get_footer()			// 调用Footer模板
the_content()			// 显示内容(Post/Page)
the_time('字符串')		// 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
comments_popup_link()		// 正文中的留言链接。如果使用 comments_popup_script,则留言会在新窗口中打开,反之,则在当前窗口打开
the_title()			// 内容页(Post/Page)标题
the_permalink()			// 内容页(Post/Page) Url
the_category(',')		// 特定内容页(Post/Page)所属Category
the_author()			// 作者
the_ID()			// 特定内容页(Post/Page) ID
edit_post_link()		// 如果用户已登录并具有权限,显示编辑链接
get_links_list()		// 显示Blogroll中的链接
comments_template()		// 调用留言/回复模板
wp_list_pages()			// 显示Page列表
wp_list_categories()	// 显示Categories列表
next_post_link('%link')		// 下一篇文章链接
previous_post_link('%link')	// 上一篇文章链接
get_calendar()			// 日历
wp_get_archives()		// 显示内容存档
posts_nav_link()		// 导航,显示上一篇/下一篇文章链接
include(TEMPLATEPATH . '/文件名')		// 嵌入其他文件,可为定制的模板或其他类型文件

if(have_posts()):		// 检查是否存在Post/Page
	while(have_posts()): the_post();	// 如果存在Post/Page则予以显示
	endwhile;		// While 结束
endif;				// If 结束
?>

WordPress主题中与模板相关的其他函数

<?php
_e('Message')			// 输出相应信息
wp_register()			// 显示注册链接
wp_loginout()			// 显示登录/注销链接
timer_stop(1)			// 网页加载时间(秒)
echo get_num_queries()	// 网页加载查询量

<!–next page->			// 将当前内容分页
<!–more–>				// 将当前内容截断,以不在主页/目录页显示全部内容
?>

 

 

标签: