文本是《wordpress主题完整开发系列(共30篇)》专题的第 14 篇。阅读本文前,建议先阅读前面的文章:
- 1.S9社区专题之wordpress主题完整开发系列
- 2.如何轻松学会主题开发:实用案例分享
- 3.深入解析如何优化网页加载速度 – 最佳实践:优化 CSS 和 JavaScript 文件
- 4.让你的WordPress主题更强大!优化functions.php
- 5.如何使用条件标签函数打造智能化网站
- 6.定制专属您网站需求的文章类型和分类法
- 7.让你的网站更高效:如何利用模板循环技术来提升用户体验
- 8.从入门到精通:掌握模版文件继承规则
- 9.想要制作网站?了解模板文件吧!
- 10.如何避免模版文件包含漏洞?学习防御技巧
- 11.引领主题基础-打造精彩文章
- 12.打造高效开发环境,从设置开始
- 13.从零开始制作主题:主题开发入门
WordPress主题使用模版标签从数据库中检索内容 。这里说的内容可以是任何数据,小到博客标题,大到一个完整的侧边栏。模板标签是获取数据到主题中的首选方法,模版标签的便利之处:
可以打印动态内容。
可以在多个主题文件中使用。
分解主题到更小,更容易理解的部分。
什么是模板标签?
模板标签是一段代码,控制 WordPress 从数据库中获取内容,从组成上了来说,模版标签可以分为三部分:
PHP 代码标记
一个 WordPress 函数
可选参数
我们可以使用模板标签来包含主题文件或数据库中的信息。
例如,get_header()
标签指示 WordPress 获取并包含 header.php
文件,同理 get_footer()
标签指示 WordPress 获取并包含 footer.php
文件
除此之外,还有一些其他类型的模板标签:
the_title()
:指示 WordPress 从数据库中获取标题,然后显示在页面中。
bloginfo('name')
:指示 WordPress 从数据库中获取站点标题,并在页面中显示。
注意上面第二个模版标签,我们会在括号中看到一个参数,该参数可以让我们做两件事:
指定具体的信息
以正确的格式显示信息。
下面将我们将详细介绍参数,但请注意,我们可以发送 WordPress 专有指令,以了解数据的呈现方式。
为什么使用模板标签?
模版标签可以封装特定内容模块的所有代码,这种封装可以让被封装的内容可以在各个主题文件中使用,也使主题更容易维护。
创建一个 header.php
文件,然后使用 get_header() 在其他主题模版文件——如 single.php
、page.php
、front-page.php
——中引用,比在每个模版文件中复制粘贴代这些代码容易得多,维护起来也更轻松,每当 header.php
被修改时,这些修改都会体现在每一个包含他的模版文件中。
使用模板标签的另一个原因是可以很方便的显示来自数据库的数据。在 title
标签中,我们可以手动包含 title
标记,如下所示:
<title>My Personal Website</title>
但是,这样做意味着我们需要修改网站标题时,就必须编辑模版代码。相反,使用模版标签 bloginfo(‘name’) 输出标签会很方便,该标签会自动从数据库中获取并输出网站标题。使用了这个标签后,我在 WordPress 设置中更改网站的标题就可以了,而不用再修改模版文件了。
如何使用模板标签
模版标签使用起来非常简单,在任何一个模板文件中,用一行 php 代码即可使用模板标签来。如,使用以下代码即可在模版文件中包含 header.php 的内容:
get_header();
参数
一些模板标签可以让我们传递参数。参数是确定从数据库检索哪些内容的额外信息。
例如, bloginfo() 模板标签允许您传入一个参数,告诉 WordPress 需要获取的信息。如果您要输出网站名称,传入 “name” 参数即可,如下所示:
bloginfo( 'name' );
如果需要获取站点运行的 WordPress 版本,传入参数 “version” 就可以了:
bloginfo( 'version' );
模版标签可以有参数,也可以没有,每个模版标签的参数也各不相同,我们可以在WordPress 代码参考 中的模板标签页面中找到某个标签可用的参数列表及其可以执行的操作 。
在循环中使用模板标签
许多模板标签必须在 WordPress 循环中才能正常使用,也就是说,他们需要作为 php “循环” 的一部分包含在模板文件中,该循环根据其内部的模版标签生成用户看到的页面。
WordPress 循环一般以如下代码开始:
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
在循环中工作的模板标签必须位于循环中才能正常使用,在下面循环结束之前:
endwhile;
else :
_e( 'Sorry, no posts matched your criteria.', 'wprs' );
endif;
需要在循环内部工作的标签有:
the_content()
the_excerpt()
next_post()
previous_post()
这些函数需要在循环中工作的主要原因是它们需要全局 post 对象,WordPress 循环会自动设置这个 post 对象。
其他标签不需要在循环中工作(如下面两个),可以在模版中的任何地方使用。如侧边栏中,页头或页脚中。
wp_list_cats()
wp_list_pages()
这些标签通常不需要全局 post 对象。
更多资源
条件标签
模板标签的完整列表
您已阅读完《wordpress主题完整开发系列(共30篇)》专题的第 14 篇。请继续阅读该专题下面的文章:
- 15.教你轻松制作自己的WordPress主题之制作page.php
- 16.「打造绝佳用户体验:WordPress comments.php主题制作教程」
- 17.\”WordPress主题制作全过程:如何制作一个完美的single.php页面\”
- 18.《详解WordPress主题制作(八):从零开始制作自己的index.php页面》
- 19.《最全面的WordPress主题制作教程(7):制作sidebar.php》
- 20.《从零开始学WordPress主题制作(六):打造独一无二的footer》
- 21.学习WordPress主题制作(五):打造独一无二的header.php文件
- 22.WordPress主题制作全记录(四):实践篇,零基础开始小试牛刀
- 23.《打造个性化WordPress主题(三):HTML静态模板制作详解》
- 24.打造个性博客,从WordPress主题制作开始——主题文件构成
- 25.全面解析WordPress主题制作流程(一):基础准备
- 26.如何优化WordPress主题首页模板?探究front-page.php、home.php、page.php、index.php的调用顺序
- 27.\”掌握WordPress函数load-{$variable} action的技巧\”
- 28.WordPress SEO技巧:如何设置最佳Keywords和Description
- 29.如何在WordPress中限制搜索结果- 排除或指定特定文章、页面和分类
- 30.解决 WordPress Gravatar 头像无法访问的方法-轻松解决头像加载问题