自定义文章类型模板文件

WordPress主题系统支持用于自定义文章类型的自定义模板。从WordPress 3.0开始支持自定义模板来显示属于自定义文章类型的文章,并且在3.1版本中添加了自定义文章类型存档页面模板的支持。

自定义文章类型–模板层次结构

WordPress将通过模板层次结构进行工作,并使用首先出现的模板文件。因此,如果您想为自定义文章类型 acme_product 创建自定义模板,一个好的开始就是复制single.php文件,将其另存为single-acme_product.php并进行编辑。

但是,如果你不想创建自定义模板文件,WordPress会使用已经存在于您主题的archive.phpsingle.phpindex.php 文件。

单个文章及其存档可以分别使用single.phparchive.php模板文件显示:

  • 自定义文章类型的单个文章将使用single-{post_type}.php
  • 它们的存档将使用archive-{post_type}.php
  • 并且如果您没有此文章类型的存档页面,则可以传递 BLOG_URL?post_type={post_type} ,其中的 {post_type}register_post_type() 函数的 $post_type 参数。

因此,对于上面的例子,你可以创建single-acme_product.phparchive-acme_product.php作为单个文章的模板文件和存档页面的模板文件。

或者,您可以在任何模板文件中使用 is_post_type_archive() 函数来检查查询是否显示为特定文章类型的存档页面,并使用post_type_archive_title()显示文章类型标题。

自定义文章类型模板

  • single-{post-type}.php
    当访客从自定义文章类型请求单个文章时使用的模板。例如,single-acme_product.php将用于显示名为 acme_product 的自定义文章类型的单个文章。
  • archive-{post-type}.php
    当访客请求自定义文章类型存档时,将使用该文章类型的存档模板。例如,archive-acme_product.php将用于显示名为 acme_product 的自定义文章类型的文章存档。如果archive-{post-type}.php不存在,将使用 archive.php
  • search.php
    搜索结果模板用于显示访问者的搜索结果。要包括来自您的自定义文章类型的搜索结果,请参考文章
  • index.php
    用于特定的自定义文章类型的相关模板( single-{post-type}.php, single.php, archive-{post-type}.php, archive.php, search.php )不存在,将使用 index.php

函数参考

该文章对您有帮助吗?

暂无评论

发表评论