会员登录 您是新人?

   

QQ登录

会员注册

       

WP管理员之家

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。

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

  1. if ( in_category('post') ) {  
  2. include(TEMPLATEPATH . '/single-post.php');  
  3. }  
  4.   
  5. // elseif 在一次判断 想在加判断复  
  6. 制代码 elseif ( in_category('plugin') )  
  7. {  
  8. // pro 为category的别名  
  9. include(TEMPLATEPATH . '/single-plugin.php')  
  10. ; }  
  11. // elseif 结束  
  12. else { include(TEMPLATEPATH . '/single-all.php')  
  13. ; } ?>  

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

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

在线留言

您的昵称 *

您的邮箱 *

您的网站

评论内容

  1. 还没有任何评论,你来说两句吧

客服微信