WordPress主题系统支持用于自定义文章类型的自定义模板。从WordPress 3.0开始支持自定义模板来显示属于自定义文章类型的文章,并且在3.1版本中添加了自定义文章类型存档页面模板的支持。
一、自定义文章类型–模板层次结构
WordPress将通过模板层次结构进行工作,并使用首先出现的模板文件。因此,如果您想为自定义文章类型 acme_product 创建自定义模板,一个好的开始就是复制single.php文件,将其另存为single-acme_product.php并进行编辑。
但是,如果你不想创建自定义模板文件,WordPress会使用已经存在于您主题的archive.php、single.php和index.php 文件。
单个文章及其存档可以分别使用single.php和archive.php模板文件显示:
自定义文章类型的单个文章将使用single-{post_type}.php,它们的存档将使用archive-{post_type}.php,并且如果您没有此文章类型的存档页面,则可以传递 BLOG_URL?post_type={post_type} ,其中的 {post_type} 是 register_post_type() 函数的 $post_type 参数。您可以在任何模板文件中使用 is_post_type_archive() 函数来检查查询是否显示为特定文章类型的存档页面,并使用post_type_archive_title()显示文章类型标题。
二、自定义文章类型模板
1、single-{post-type}.php
当访客从自定义文章类型请求单个文章时使用的模板。例如,single-acme_product.php将用于显示名为 acme_product 的自定义文章类型的单个文章。
2、archive-{post-type}.php
当访客请求自定义文章类型存档时,将使用该文章类型的存档模板。例如,archive-acme_product.php将用于显示名为acme_product 的自定义文章类型的文章存档。如果archive-{post-type}.php不存在,将使用 archive.php 。
3、search.php
搜索结果模板用于显示访问者的搜索结果。要包括来自您的自定义文章类型的搜索结果,请参考文章。
4、index.php
用于特定的自定义文章类型的相关模板( single-{post-type}.php, single.php, archive-{post-type}.php, archive.php, search.php )不存在,将使用 index.php 。
暂无评论内容