模板标签在主题内部用于从数据库中检索内容。这些内容可以是博客标题,也可以是完整的侧边栏等任何东西。使用模板标签将内容引入主题是首选方法,原因如下:

  • 它们可以打印动态内容;
  • 它们可以在多个主题文件中被使用;以及
  • 它们将主题划分为更小、更易理解的章节。

什么是模板标签?

模板标签只是一段告诉 WordPress 从数据库获取某些内容的代码。它由三个部分组成:

  • PHP 代码标签
  • WordPress 函数
  • 可选参数

您可以使用模板调用来调用另一个主题文件或从数据库中获取一些信息。

例如,模板标签 get_header() 告诉 WordPress 获取 header.php 文件并将其包含在当前主题文件中。同样地,get_footer() 告诉 WordPress 获取 footer.php 文件。

还有其他类型的模板标签:

  • the_title() – 告诉 WordPress 从数据库中获取页面或帖子的标题并将其包含在内。
  • bloginfo( 'name' ) – 告诉 WordPress 从数据库中获取博客标题并将其包含在模板文件中。

如果您仔细查看最后一个例子,您还会发现括号之间有一个参数。参数可以让您做两件事:

  1. 请求特定的信息片段和
  2. 以某种方式格式化这些信息。

参数在下面有详细介绍,但了解您可以发送 WordPress 特定指令来指定如何呈现数据是非常有用的。

为什么要使用模板标签

通过封装特定内容块的所有代码,模板标签使得在主题文件中包含各种模板部分以及维护主题变得非常容易。

创建一个 header.php 文件并让所有您的主题模板(如 single.php, page.php, front-page.php 等)使用 get_header() 引用该单一主题文件,远比将代码复制粘贴到每个主题文件中要容易得多。这也使得维护更加轻松。每当您在 header.php 文件中做出更改时,这些更改会自动应用到您的所有其他主题文件中。

使用模板标签的另一个原因是显示动态数据,即来自数据库的数据。在您的页眉中,您可以手动包含 title 标签,如下所示:

<title>My Personal Website</title>

然而,这样做意味着每次您想要更改网站标题时都需要手动编辑主题。相反,更容易的是包含 bloginfo( 'name' ) 模板标签,它会自动从数据库中获取站点标题。现在,您可以在 WordPress 中更改您的站点标题,而无需硬编码您的主题模板。

如何使用模板标签

使用模板标签非常简单。在任何模板文件中,您只需打印一行 PHP 代码来调用模板标签即可使用它。打印 header.php 文件就像这样:

get_header();

参数

某些模板标签允许您传递参数。参数是决定从数据库检索什么的额外信息片段。

例如,bloginfo() 模板标签允许您给它一个参数,告诉 WordPress 您要的具体信息片段。要打印博客名称,只需传递参数“name”,如下所示:

bloginfo( 'name' );

要打印博客运行的 WordPress 版本,您需要传递参数“version”:

bloginfo( 'version' );

对于每个模板标签,其参数都不同。参数的列表及其功能可以在 代码参考 中的特定模板标签页面找到。

在循环中使用模板标签

许多模板标签适用于WordPress 循环。这意味着它们作为 PHP“循环”的一部分包含在模板文件中,该循环根据循环内部指令生成用户看到的页面。

WordPress 循环以以下内容开始:

if ( have_posts() ) :
	while ( have_posts() ) :
		the_post();

适用于循环内的模板标签必须位于中间区域,在以下循环结束部分之前:

	endwhile;
else :
	_e( 'Sorry, no posts matched your criteria.', 'devhub' );
endif;

一些需要包含在循环中的模板标签包括

某些函数需要循环的主要原因是因为它们要求设置全局帖子对象。

如果您要使用的模板标签不需要在循环内

那么您可以将其放在任何您喜欢的文件中,例如在侧边栏、页眉或页脚模板文件中。

这些是通常不需要全局帖子对象的函数。

另请参阅