什么是模板标签?

模板标签一般是用来在页面上显示某些内容或执行某些操作。

比如下面这个标签就可以在页面上显示博客名称。

<h1><?php bloginfo('name'); ?></h1>

这个博客名称怎么来的?

打开后台,选择 「设置」 > 「基本」 中的站点标题就是了。

bloginfo() 这个函数用来输出设置里的内容,可以给它传入不同的参数来显示不同的类容,让我们看一下它都接收哪些参数。

name <?php bloginfo(『name』); ?>

对应 设置 > 常规 站点标题

description <?php bloginfo(『description』); ?>

对应 设置 > 常规 里的副标题

url <?php bloginfo(『url』); ?>

对应 设置 > 常规 里的站点地址 (URL)

admin_email <?php bloginfo(『admin_email』); ?>

对应 设置 > 常规 里的电子邮件地址

version <?php bloginfo(『version』); ?>

显示当前使用的 WordPress 版本号。

如何使用模板标签?

我们以 the_title() 这个标签为例,让我们看看标签引入不同参数后会产生什么样的效果。

默认情况下,使用该标签会直接在界面上显示文章的标题。

<code>&lt;?php the_title(); ?&gt;
//得到结果
我是标题
</code>

如果你想在标题前面或后面加上其他内容,可以这么做:

<code>&lt;?php the_title('¥','%',display); ?&gt;
//得到结果
¥我是标题%

&lt;?php the_title('文章标题:'); ?&gt;
//得到结果
文章标题:我是标题
</code>

布尔类型的模板标签:

wp_list_cats() 标签常常在 WordPress 侧边栏或者菜单模板中被引用到。它被用来显示整个站点的分类列表。

<?php wp_list_cats(); ?>

使用<?php wp_list_cats(); ?> 默认情况下的展示形式,默认情况下,每行显示的是分类描述,显示所有层级的分类。

  • Stories About My Life
  • Stories About My Family
  • Things I Want To Share
    • About WordPress
    • About Writing
    • About Story Telling
  • Facts and Fiction About Life

如果想显示分类标题标题:

<?php wp_list_cats('use_desc_for_title=0'); ?>

  • My Life Stories
  • My Family
  • Sharing
    • WordPress
    • Writing
    • Story Telling
  • Facts and Fiction

只显示一级分类:

<?php wp_list_cats('use_desc_for_title=0&children=0'); ?>

只显示 Sharing 分类下的二级分类,显示每个分类下的文章数量:

<code>&lt;?php wp_list_cats('sort_column=name&amp;sort_order=asc&amp;optioncount=1&amp;use_desc_for_title=0&amp;child_of=3'); ?&gt;
</code>
  • Story Telling (21)
  • WordPress (23)
  • Writing (10)

模板标签及循环:

许多标签需要在主循环 (官网称为 loop) 下才能使用。

如果你想在页面上显示一个文章列表,因为包含多篇文章,文章必须循环输出,则必须把文章标签放在主循环中使用。

循环体开始:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

无内容的情况下输出』Sorry, no posts matched your criteria.』,最后用 endif 结束循环体。

&lt;?php endwhile; else: ?&gt;

&lt;?php _e('Sorry, no posts matched your criteria.'); ?&gt;

&lt;?php endif; ?&gt;

这几个标签都可以放在主循环中使用 the_content(), the_excerpt(), next_post(), previous_post(),它们将输出每篇文章的对应内容,你也可以把它们放在循环外的任何地方,那样的话他么将输出当前文章的对应内容。