WordPress基本模板文件
一套完整的WordPress模板应至少具有如下文件:
style.css : CSS(样式表)文件
index.php : 主页模板
archive.php : Archive/Category模板
404.php : Not Found 错误页模板
comments.php : 留言/回复模板
footer.php : Footer模板
header.php : Header模板
sidebar.php : 侧栏模板
page.php : 内容页(Page)模板
single.php : 内容页(Post)模板
searchform.php : 搜索表单模板
search.php : 搜索结果模板
当然,具体到特定的某款模板,可能不止这些文件,但一般而言,这些文件是每套模板所必备的。
基本条件判断Tag
is_front_page() : 是否为站点首页
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页是否以多页显示
Header部分常用到的PHP函数
<?php bloginfo(’name’); ?> : 博客名称(Title)
<?php bloginfo(’stylesheet_url’); ?> : CSS文件路径
<?php bloginfo(’pingback_url’); ?> : PingBack Url
<?php bloginfo(’template_url’); ?> : 模板文件路径
php手册官方中文版<?php bloginfo(’version’); ?> : WordPress版本
<?php bloginfo(’atom_url’); ?> : Atom Url
<?php bloginfo(’rss2_url’); ?> : RSS 2.o Url
<?php bloginfo(’url’); ?> : 博客 Url
<?php bloginfo(’html_type’); ?> : 博客网页Html类型
<?php bloginfo(’charset’); ?> : 博客网页编码
<?php bloginfo(’description’); ?> : 博客描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
模板常用的PHP函数及命令
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束
<?php the_time(’字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(’, ‘) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link();
?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link(’ %link ‘); ?> : 下一篇文章链接
<?php previous_post_link(’%link’); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件
与模板相关的其他函数
<?php _e(’Message’); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量
WordPress 的侧栏如何显示顶级父类的子类
<?php
function get_category_root_id($cat)
{
$this_category = get_category($cat);  // 取得当前分类
while($this_category->category_parent) // 若当前分类有上级分类时,循环
{
$this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
}
return $this_category->term_id; // 返回根分类的id号
}
//用法:wp_list_cats("child_of=" . get_category_root_id($cat) . "&depth=0&hide_empty=0");
?>
<?php $cat= single_cat_title('当前位置:', true); //获取当前位置分类名称?>
=======================================================================================================================
So now you have two files: index.php and style.css.
一个WP主题至少应该有两个文件:index.php and style.css.
single.php  用来显示文章内容  article
page.php    用来显示单页面内容 page
======================================================================================
Doctype - 指明哪种类型的代码你用来编码你的主题。Doctype 此时还不必去思考它的确切的意思。
<html> 是网页开始的地方。
<head> 是你的网页头部开始的地方。每个网页都有一个头部和主体。</head> 是头部结束的地方。
<?php bloginfo(’stylesheet_url’); ?> 是一个 PHP 函数,它能取得 style.css 文件所在的路径,这样主题就能链接到它并能样式化页面上所有元素。任何时候,PHP 代码都是在 <?php 和 ?> 之间的。PHP 代码和其他的代码不一样的,在 PHP 中,<?php 时开始 PHP 代码而 ?> 是结束 PHP 代码。
所以:
•<?php - 开始 PHP 代码
•bloginfo(’stylesheet_url’) - 调用 style
.css 文件所在的路径
•; - 停止调用函数。分号是用来结束一个 PHP 语句。
•?> - 结束 PHP 代码
继续……
<body> - 这是网页主体开始的地方。你能在网页上看到和读到的东西就是主体部分。你正在阅读的这个教程说明你在正在看当前这个网页的主题部分。</body> 是网页主体结束的地方。
</html> 是网页结束的地方,没有东西在它的后面了。
=====================================================================================
WordPress 中的主循环(The Loop)
---------------------------------------------------------------------------
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<a href=”<?php the_permalink(); ?>“><?php the_title(); ?></a>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>
---------------------------------------------------------------------------
刚才发生了什么?
•if(have_posts()) - 检查你的博客是否有日志。
•while(have_posts()) - 如果你有,当你有日志的时候,执行 the_post() 这个函数。
•the_post() - 调用具体日志来显示。
•endwhile; - 遵照规则 #1,这里用于关闭 while()
•endif; - 关闭 if()
•注释:并不是所有的代码都需要两部分,为了打开和关闭自己。有些能够自我关闭,这就解释了 have_posts() 和 the_post(); 这两个函数。因为 the_post(); 在 if() 和 while() 的外面,它需要分号去结束或者关闭自己。
•the_title();在主循环(The Loop)中调用日志标题。
•the_permalink() 是用来调用每篇日志地址的 PHP 函数。
•the_content() 用此PHP 函数 调用了 日志的内容。
==============================================================================
分类调用函数:wp_list_categories()
用法: <?php wp_list_categories('sort_column=name&title_li=&exclude=1&hide_empty=0&show_count=1&depth=2'); ?>
模板标签- wp_dropdown_categories()
说明:
该标签在一个没有提交按钮的选择框(如下拉式选框)中展示分类目录列表。
用法: <?php wp_dropdown_categories( $args ); ?>
默认用法
<?php $args = array(
'show_option_all' => ,
'show_option_none' => ,
'orderby' => 'ID',
'order' => 'ASC',
'show_last_update' => 0,
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => ,
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'class' => 'postform',
'depth' => 0 ); ?>
默认情况下的显示状态:
升序排列分类目录ID
不显示最新更新
不显示分类目录下的文章总数
不显示“空”分类
不排除任何分类
显示(回应)分类目录
选项框中不选中任何分类
不以分层结构显示分类目录
为列表命名为“cat”
将列表赋值给'postform'类
无层数限制
参数
show_option_all
(字符串)生成下拉
式选项框的HTML,从而允许你选定所有分类目录。
show_option_none
(字符串)生成下拉式选项框的HTML,从而允许你不选定任何分类目录。
orderby
(字符串)按某种标准为分类目录排序。有效值包括:
'ID' ——默认值
'name'
order
(字符串)为分类目录排序(升序或降序)有效值包括:
'ASC'(升序) ——默认值
'DESC'(降序)
show_last_updated
(布尔型)是(TRUE)否(FALSE)显示分类目录下最新更新日志的日期。默认值为FALSE。
有效值包括:
1 (true)
0(false)——默认值
show_count
(布尔型)是否显示每个分类目录下现有的日志总数。有效值包括:
1 (true)
0(false)——默认值
hide_empty
(布尔型)是否隐藏(不显示)不含有文章的分类目录。有效值包括:
1 (true)——默认值
0(false)
child_of(整数)
只显示某一个分类的子分类;用该分类的ID作为参数值。无默认值。
exclude
(字符串)将要排除的分类目录的ID列表,各ID用逗号隔开。例如, 'exclude=4,12' 表示不显示或返回ID为4和12的分类。默认值为不排除任何分类。
exclude_tree
(字符串)定义需要排除的父分类ID列表,各ID用逗号隔开。用该参数排除某个父分类目录及其所有子分类目录。因此 'exclude_tree=5' 可排除ID为5的父分类及其所有子分类。该参数引入于WP 2.7.1。
echo
(布尔型)显示结果(TRUE),或返回结果以供PHP使用(FALSE)。默认值为TRUE。
1 (true)——默认值
0(false)
selected
(整数)在显示框中选中/显示的分类目录的ID。默认为不选中任何分类目录。
hierarchical
(布尔型)以分层形式显示分类目录(子分类目录内嵌于其父分类目录下)。默认值为FALSE。有效值包括:
1 (True)—— 默认值
0 (False)
name
(字符串)下拉式选框被赋予的名称。默认为cat'。
class
(字符串)被赋给下拉式选项框的类,默认为'postform'。
depth(整数)
该参数决定wp_list_pages所生成的分类目录列表中所允许的分类层级的层数。默认值为0(显示包括子分类目录在内的所有分类目录)。该参数引入于WP 2.5。
0 —— 显示所有分类目录和他们的子分类目录(默认)
-1 —— 以平面(不缩进)方式显示所有分类目录和他们的子分类目录
1 —— 只显示顶级分类目录
n —— 该值表示可以缩进显示的分类目录层数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。