WordPress不同分类使⽤不同列表模板样式
⽅法⼀:创建独⽴ID或别名的样式⽂件
WordPress默认的分类是查对应ID的主题⽂件,不到就会指向archive.php⽂件,如果archive.php⽂件不存在,就会默认使⽤index.php⽂件。
到博客后台查看⼀下要设计样式的分类的ID,假设分类ID为7,之后把主题⽂件archive.php复制⼀下,把⽂件改名为:category- 7.php,这样当你浏览分类ID为7的分类时,就会⾃动调⽤category-7.php主题⽂件,就实现了⾃定义显⽰分类为7的样式。
上⾯是根据ID来创建⽂件,其实也可以通过别名来创建,⽐如id为7的分类别名为Internet,那么创建⼀个名为category-Internet.php的⽂件,效果和category-7.php是⼀样的。
当然了,你创建的category-7.php或category-Internet.php的样式要区别于archive.php哦,要不然,就称不上“不同分类使⽤不同列表样式”了,呵呵
⽅法⼆:判断ID调⽤不同样式的⽂件:
上⾯的⽅法⽐较有局限性,如果要实现多个分类列表调⽤同⼀个列表模板样式,就需要创建多个⽂件,此时我们可以使⽤is_category 这个函数!
⾸先,我们创建两个以上的不同样式的列表⽂件,⽐如这⾥创建article_list.php(⽂章列表模板样式)、thumb_list.php(有缩略图的列表模板样式)和image_list.php(图集列表样式),然后创建⼀个archive.php⽂件,在archive.php中使⽤下⾯的代码实现不同的效果。
例如:
1)要实现id为5的分类使⽤的是image_list.php样式,其余的使⽤article_list.php样式,代码如下:
<?php
if ( is_category(5) ) {
include(TEMPLATEPATH . ‘/image_list.php’);
} else {
include(TEMPLATEPATH . ‘/article_list.php’);
}
>
2)要实现id为8、9、10这三个分类都使⽤thumb_list.php样式,其余的使⽤article_list.php样式呢?可以通过数组实现,以此类推,具体代码如下:
<?php
if ( is_category(array(8,9,10)) ) {
include(TEMPLATEPATH . ‘/thumb_list.php’);
}
else {
include(TEMPLATEPATH . ‘/article_list.php’);
}
>
3)要实现id为8、9、10三个分类使⽤thumb_list.php样式,id为1、2、3的分类使⽤image_list.php样式,其余使⽤article_list.php样式,可以使⽤elseif实现,代码如下:
<?php
if ( is_category(array(8,9,10)) ) {
include(TEMPLATEPATH . ‘/thumb_list.php’);
}
elseif ( is_category(array(1,2,3))){
include(TEMPLATEPATH . ‘/img_list.php’);
}
else {
include(TEMPLATEPATH . ‘/title_list.php’);
}
>
⼩结:上⾯两种⽅法都可以实现WordPress不同分类使⽤不同列表样式,⼤家可以根据⾃⼰需要来选择,奇芳阁更加倾向于⽅法⼆,因为通过数组调⽤,只要给主题设置后台添加⼀个填写分类id数组的表单,就可以让主题使⽤者⽅便地设置啦。
WordPress不同分类下的⽂章使⽤不同⽂章样式:
WordPress不同分类下的⽂章使⽤不同⽂章模板样式实现的⽅法和上⾯说到的⽅法⼆的原理是⼀样的,只不过使⽤的函数不是is_category ,⽽是 in_category 。同样我们要根据需要创建两个以上的⽂章模板样式,⽐如single1.php、single2.php和single3.php,然后在single.php通过in_category 判断代码来实现⾃⼰需要的效果。
⽐如要实现id为8、9、10三个分类下的⽂章使⽤single1.php样式,id为1、2、3的分类下的⽂章使⽤single2.php样式,其余使⽤
single3.php样式!⾸先,复制三个single.php⽂件分别取名为“single1.php”、“single2.php”和“single3.php”,然后,把原先的single.php⽂件⾥⾯的内容全部删除,并⽤下⾯的代码进⾏替换:
<?php
if ( in_category(array(8,9,10)) ) {
include(TEMPLATEPATH . ‘/single1.php’);
}
elseif ( in_category(array(1,2,3))){wordpress主题怎么安装
include(TEMPLATEPATH . ‘/single2.php’);
}
else {
include(TEMPLATEPATH . ‘/single3.php’);
}
>
好了,基本的思路就是这样,最后的总结只有⼀句:分类页判断分类⽤is_category(), 内容页判断分类需⽤in_category()。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论