北极寒流 » 网络资源 » WordPress主题结构及WordPress页面函数调用 - 2012.10.08

WordPress主题结构及WordPress页面函数调用

如果你希望对wordpress博客修改或者进行WordPress主题制作。那么熟悉WordPress主题结构以及一些常用的页面函数调用很重要,只有熟悉和掌握了wordpress主题结构后才可以很方便的基于wordpress系统做成各种各样的形式,当然,这还得要求wordpress主题开发人员精通html,PHP,JS,CSS等技术了。

WordPress主题由一系列模板文件组成,每个模板文件控制主题的一部分。无论在博客的哪个个页面上,主题的框架总有一部分是不变的,这是主题的静态部分,它由header.php, sidebar.php 和 footer.php三个文件控制。我们可以修改这些文件,以便检测我们浏览的页面,并显示不同的内容,如在posts页面和page页面显示不同的导航。然而,通常,我们会让静态部分在整个网站上保持一致的风格。

网站外观由下面4个部分的代码控制:

  • header.php
    显示博客头和导航,也包含html代码
  • The Loop
    显示网站主题内容的模板文件称为The Loop(后面会详细介绍)。
  • sidebar.php
    侧边栏由这个文件控制。多侧边栏的主题可以在functions.php中添加控制。
  • footer.php
    网站的页尾和html的关闭标签。

一套完整的WordPress模板应至少具有如下文件:

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 : 搜索结果模板

style.css : CSS(样式表)文件

functions.php:Functions.php让我们在WordPress上运行自定义代码,以便更自由的修改主题元素。(这个不是必须的,但是只有有了Functions.php才能方便的扩展其他很多功能)

页面组成

WordPress基本页面有Homepage(index.php控制),Post页面(单独显示一篇完整博客,由single.php控制),独立页面(page.php控制),存档(archive.php等控制),下面分别介绍这几个控制这几个页面的代码文件。

index.php – home

index文件控制博客homepage的外观。默认情况下,index文件通过一个loop来显示最新博客,homepage底部还会由一个查看以前博客的链接。

single.php – individual posts

该文件用于显示读者要查看的特定博客全文。

page.php控制着Wordpress Page(页面,不同与文章posts)的显示。你可以选择去掉边栏或其他元素,或增加一些只有page才有的元素。

WordPress同时允许你创建不同的page模板,用来显示不同类型的page(页面)。创建page模板很简单,你只要拷贝page.php,改个你喜欢的名字,然后在文件顶部添加如下代码:

<?php

/*

Template Name:你命名的页面模板文件名

/*

?>

归档(archives)

archive.php, category.php,tag.php

你可以通过以上的文件来控制各种归档类页面的显示。如果没有归档类页面模板,那么归档页面会使用index.php来做模板;不过,你可以创建一个 archive.php来替代index.php作为归档类页面的模板。如果你创建了category.php,这个文件会替代archives.php 来作为分类页面(categories)的模板。如果你创建了tag.php,这个文件会优先作为标签页面(tag)的模板。

wordpress结构

wordpress模板常用的PHP函数及命令

<?php the_tags(); ?> ; 调用文章标签
<?php get_header(); ?> : 调用Header.php
<?php get_sidebar(); ?> : 调用Sidebar.php
<?php get_footer(); ?> : 调用Footer.php
<?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 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 . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

基本条件判断Tag

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 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 _e(’Message’); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量

08

WordPress主题结构及WordPress页面函数调用

分享到: