WordPress 的页面类型判断

为了让我们的博客缤纷多彩,为了让模板在不同的时候显示不同的东西,我们通常会用到 WordPress 内置的一些个判断函数,这些函数大都以 “is_”开始,意思很容易看懂,只要稍懂点英文的朋友都可以不看解释直接用到你的主题代码里,我们要感谢 WordPress 的创作者,有了这些函数的支持,我们可以把博客折腾的更精彩。

函数介绍

is_home() 判断是否为首页,并且显示的不是一个静态页面
is_front_page()判断是否为首页,包括首页显示的是一个静态页面
is_search()是否为搜索页
is_404()是否为404页面
is_category()是否为分类目录归档
is_author()是否为作者归档页面
is_day()是否为按天归档页面
is_month()是否为按月归档页面
is_year()是否为按年归档页面
is_tag()是否为标签归档页面
is_single()是否为文章页面
is_page()是否为页面单页
is_date()是否按日期归档页面,相当于包括is_day()、is_month()、is_year()
is_archive()是否为归档页面,相当于包括is_category()、is_author()、is_month()、is_day()、is_year()、is_tag()
is_singular()相当于is_single()||is_page()||is_attachment()
is_sticky() 置顶文章判断。
2012.6.25 补充 is_singular 用于判断单页。(谢谢 @郑永 对函数拼写的指正)

简单使用的介绍 – 1

比如说我 sidebar 里的文章标签,只会在我想要的页面才显示,那我们需要怎么才能做到呢?很简单,加一个判断:

<?php
//判断开始
if(is_front_page() || is_home() || is_page() || is_category()) {
//如果是首页、页面、文章目录才会显示
?>
	<div id="tag_cloud" class="widget">
	   <h3>文章标签</h3>
	   <?php wp_tag_cloud('smallest=8&largest=14&number=12&order=RAND'); ?>
	   <div class="action">
	      <a class="view-more" href="<?php bloginfo(url);?>/all-tags/">View All Tags ??</a>
	   </div>
	</div>
<?php
 };//判断结束位置
?>

简单使用的介绍 – 2

还有我们的文章标题,在索引的时候我们想要显示成超链接,而在具体的文章里,我们想把标题显示为纯文本,我们的代码可以这么写:

<?php
//判断开始
if ( is_single () || is_page()) : 
//如果是文章单页 ?>
	<h1><?php the_title();//只显示标题,有木有?></h1>
<?php else ://其他情况 ?>
	<h2><a class="title" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php endif ?>
//判断结束位置
?>

总结

其实这些判断函数,
不仅可以让我们在特定页面隐藏一些东西,
也可以让我们在不同页面替换显示一些东西,
或者加载一些东西,
更有许多其他的实用的衍生功能,在这里就不在赘述了。
留待以后大家折腾的时候慢慢发现。