如果你在WordPress主题查看一下你的header.php文件,你会发现,对应你的blog上显示你的bolg名字"My Blog"的代码,它并不是直接显示"My Blog"。事实上,它由一些"奇怪"的尖括号以及一些似乎没有什么关系的词语构成。
下面是一个使用模板标签的例子。
让我们分几个步骤来学习一下它是怎么工作的。
模板标签是什么?[ | ]
一个模板标签是一段代码用来指定WordPress去"做"或者"获取"某事或某物。在header.php显示你的Blog名称地方,WordPress使用了下面代码:
<h1><?php bloginfo('name'); ?></h1>
此模板标签是<?php bloginfo(); ?>,外包含HTML标题标签h1。bloginfo()标签向你的用户资料获取Blog的信息。 在这个例子里,引号里面的name 告诉WordPress"获取Blog的站点名字",它是一参数.
模板标签参数[ | ]
<?php bloginfo(); ?>除了name参数外,还可以有其他参数用来显示其他的信息。下面是此标签的参数列表,更多信息可以查阅bloginfo():
- 名称
<?php bloginfo('name'); ?>
- 上面已经提到,用来显示Blog站点名称
- 描述
<?php bloginfo('description'); ?>
- 显示站点描述
- 网址
<?php bloginfo('url'); ?>
- 显示Blog地址
- 管理员邮件地址
<?php bloginfo('admin_email'); ?>
- 如果你想显示你的邮件地址,不需要直接修改模板文件直接显示,你只需要加入前面这段代码即可。这方便你随时修改你的邮件地址。
- 版本
<?php bloginfo('version'); ?>
- 显示你所使用的WordPress版本号,通常放在你的站点页脚上。
想要显示你的WordPress版本信息,可以使用下面这段代码:
<p>Powered by WordPress version <?php bloginfo('version'); ?></p>
想学习更多关于模板标签的内容,请参考Anatomy of a Template Tag和How to Pass Tag Parameters.
如何使用模板标签?[ | ]
浏览Template Tags,你会发现大多数都很简单,比如bloginfo(),但也有一些看上去很复杂。让我们来看一些使用标签的例子,帮助你更快的掌握模板标签这一套"语言"。
在使用标签bloginfo(),只需要修改一个参数便能控制标签的输出,比如"name"会让标签输出站点名称。
标签the_title()用来显示你的文章或静态页面的标题,此标签默认获取 你的文章标题,然后按一定格式显示出来。不过,它也支持传入参数用来控制文章标题的格式和外观。
默认,此标签使用代码为
<?php the_title(); ?>
显示效果如下
如果你想在标题加入一些东西,比如一个图像或者箭头,你该怎么做呢?就比如说,我想在标题前面添加一个符号¥,日元标志。
如果你仔细阅读了有关the_title()的文档, 你很快会找到如下方法:
<?php the_title('before', 'after', display); ?>
我们需要标题前面的日元标志, 以及它们之间有一个空格,所以我么你最后使用下面参数:
<?php the_title('¥ '); ?>
最后生成的式样如下:
现在让我们走的更远一些:在标题后面也加上一些东西。比如说你想在标题后面加上激励箭头( » )来估计大家阅读:
<?php the_title('¥ ', ' »'); ?>
好了,现在效果是
你也可以使用任何你自己想要的效果,比如
<h6><?php the_title('标题: '); ?></h6>
效果(这个例子太土了,还是想些有些创造力的招吧)
Boolean模板标签[ | ]
上面的标签例子都使用简单的参数,它们用引号和逗号隔开。下面介绍一种新的[[Boolean模板标签,它支持将参数使用数学Boolean逻辑符号连接前来传入。一个通常的例子是使用"且(&)"逻辑运算连接参数。
模板标签wp_list_cats()在侧栏和菜单栏使用最频繁。它列出站点的所有Categories.
<?php wp_list_cats(); ?>
默认传入参数是
- all - 显示所有类别
- sort_column - 按类别ID排序
- sort_order - 以升序排序
- list - 以不计数列表显示结果 (<ul><li>)
- optioncount - 不显示类别的文章数目
- hide_empty - 基于最开始的两个参数(optionall and all), 不显示空类别
- use_desc_for_title - 链接title属性显示类别描述
- children - 显示子类别
一个类别列表如
- 我的故事
- 她的故事
- 大家的故事
- 关于吃
- 关于住
- 关于行
- 其实我是猪
如果你不想显示类别描述,修改标签如下
<?php wp_list_cats('use_desc_for_title=0'); ?>
0设置user_desc_for_title为false, 关闭了title属性显示类别描述. Now the Category titles would appear:
如果你还不想显示子列别(关于吃,行,住):
<?php wp_list_cats('use_desc_for_title=0&children=0'); ?>
注意参数内部&两边没有空格。
- 我的故事
- 她的故事
- 大家的故事
- 其实我是猪
下面的例子,你将在链接title里显示实际的链接地址,类别按照名称字母排序,显示类别文章数目,并且只显示类别ID为3的子类别:
<?php wp_list_cats('sort_column=name&sort_order=asc&optioncount=1&use_desc_for_title=0&child_of=3'); ?>
- 关于吃(23)
- 关于行(12)
- 关于住(2)
模板标签和主循环[ | ]
很多WordPress标签只能在主循环内使用.
WordPress主循环以下行代码开始
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
只能在主循环内工作的标签必须在下面这段代码之前使用,这标记主循环的结束:
<?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>
在主循环内才能使用的标签代码包括the_content(), the_excerpt(), next_post(), 和previous_post(). 如果你使用的标签代码不需要在主循环之内,比如wp_list_cats()和wp_list_pages(), 那么你可以把它们放在你的主题的任何地方,比如说侧栏,页脚等。
了解更多关于模板标签[ | ]
上面只是展示了模板标签的很小一部分。更多资料请查阅下列文章和资源:
- WordPress Template Tags Catalog
- Templates
- Stepping Into Template Tags
- Anatomy of a Template Tag
- How to Pass Tag Parameters
- The Loop
- Include Tags
- Conditional Tags
设置你的模板标签显示式样[ | ]
- Styling Lists with CSS
- Lessons: Next and Previous Links
- Lessons: Separating Categories
- Lessons: Styling Page-Links
- Lessons: Good Navigation Links
- Formatting Date and Time