FANDOM


如果你在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 TagHow to Pass Tag Parameters.

如何使用模板标签?编辑

浏览Template Tags,你会发现大多数都很简单,比如bloginfo(),但也有一些看上去很复杂。让我们来看一些使用标签的例子,帮助你更快的掌握模板标签这一套"语言"。

在使用标签bloginfo(),只需要修改一个参数便能控制标签的输出,比如"name"会让标签输出站点名称。

标签the_title()用来显示你的文章或静态页面的标题,此标签默认获取 你的文章标题,然后按一定格式显示出来。不过,它也支持传入参数用来控制文章标题的格式和外观。

默认,此标签使用代码为

<?php the_title(); ?>

显示效果如下

我爱WordPress,就像老鼠爱大米

如果你想在标题加入一些东西,比如一个图像或者箭头,你该怎么做呢?就比如说,我想在标题前面添加一个符号¥,日元标志。

如果你仔细阅读了有关the_title()的文档, 你很快会找到如下方法:

<?php the_title('before', 'after', display); ?> 

我们需要标题前面的日元标志, 以及它们之间有一个空格,所以我么你最后使用下面参数:

<?php the_title('&yen; '); ?> 

最后生成的式样如下:

¥ 我爱WordPress,就像老鼠爱大米

现在让我们走的更远一些:在标题后面也加上一些东西。比如说你想在标题后面加上激励箭头( » )来估计大家阅读:

<?php the_title('&yen; ', ' &raquo;'); ?> 

好了,现在效果是

¥ 我爱WordPress,就像老鼠爱大米 »

你也可以使用任何你自己想要的效果,比如

<h6><?php the_title('标题: '); ?></h6> 

效果(这个例子太土了,还是想些有些创造力的招吧)

标题: 我爱WordPress,就像老鼠爱大米

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(), 那么你可以把它们放在你的主题的任何地方,比如说侧栏,页脚等。

了解更多关于模板标签编辑

上面只是展示了模板标签的很小一部分。更多资料请查阅下列文章和资源:

设置你的模板标签显示式样编辑