北极寒流 » 网络资源 » WordPress不同分类文章调用不同模板样式 - 2012.11.19

WordPress不同分类文章调用不同模板样式

WordPress不同分类文章调用不同模板样式。有时候我们希望wordpress的文章页面能每个分类都不一样,但是文章页面是由single.php统一控制的,这样如果希望WordPress不同分类文章调用不同模板样式,一个single.php是不够用的,所以往往我们需要新建single-post.php和single-pro.php,一个显示新闻,一个显示产品,各有各的样式。但wordpress能实现这种效果吗?答案是肯定的,而具体的功能实现如下:

WORDPRESS读取一篇文章,首先调用single.php,所以我们在single.php加入条件判断语句,最常用的是in_category()函数,可以判断文章在哪个分类下,调用哪个single模板,但in_category()有局限性,不能判断子分类和子分类以下的分类,如产品分类,底下可能有数十种分类,而in_category()只能单一写死分类ID。

下面就是具体实现代码有需要的童鞋就拿走吧。代码本人已亲测可放心使用,哈。。。

<?php
if ( in_category('post') ) {
include(TEMPLATEPATH . '/single-post.php');
}
// elseif 在一次判断 想在加判断复制代码
elseif ( in_category('plugin') ) { // pro 为category的别名
include(TEMPLATEPATH . '/single-plugin.php');
}
// elseif 结束
else {
include(TEMPLATEPATH . '/single-all.php');
}
?>

in_category(‘post’) 里面的post还可以支持ID,即写出 in_category(’3′)。

补充一下:使用方法,把上面这段代码放在single.php,然后分别多建一个single-post.php、single-plugin.php(名字自己定)和一个常用通用的single-all.php 来作为判断,如果分类post就显示single-post.php和分类plugin就显示single-plugin.php否则就显示常用通用的sinlge-all.php。

资料来源:http://www.6ird.com/archives/90.html

评论关闭