WordPress调用不同样式的分类列表

一个强大的WordPress主题应该满足各种自定义需求的设置,比如不同分类使用不同的分类列表样式,今天就和大家分享一下WordPress不同分类使用不同分类列表样式的设置思路。

方法一:创建独立ID或别名的样式文件

WordPress默认的分类是查找对应ID的主题文件,找不到就会指向archive.php文件,如果archive.php文件不存在,就会默认使用index.php文件。到网站后台查看一下要设计样式的分类的ID,假设分类ID为8,之后把主题文件archive.php复制一下,把文件改名为:category-8.php,这样当你浏览分类ID为8的分类时,就会自动调用category-8.php主题文件,就实现了自定义显示分类为8的样式。上面是根据ID来创建文件,其实也可以通过别名来创建,比如 id 为 8 的分类别名为 diary,那么创建一个名为category-diary.php的文件,效果和category-8.php是一样的。当然了,你创建的category-8.php或category-diary.php的样式要区别于archive.php哦,要不然,就称不上“不同分类使用不同列表样式”了。

方法二:判断ID调用不同样式的文件

在这里,需要使用到 is_category 这个函数,首先,我们创建两个以上的不同样式的列表文件,比如这里创建title_list.php(简单的标题列表)、thumb_list.php(有缩略图的列表样式)和img_list.php(图片类表样式),然后创建一个archive.php文件,在archive.php中使用下面的代码实现不同的效果。

例如:

1、要实现id为8的分类使用的是thumb_list.php样式,其余的使用title_list.php样式,代码如下:

<?php
if ( is_category(8) ) {
 include(TEMPLATEPATH . '/thumb_list.php');
} else {
 include(TEMPLATEPATH . '/title_list.php');
}
?>

2、要实现id为8、9、10这三个分类都使用thumb_list.php样式,其余的使用title_list.php样式呢?
可以通过数组实现,以此类推,具体代码如下:

<?php
if ( is_category(array(8,9,10)) ) {
 include(TEMPLATEPATH . '/thumb_list.php');
} else {
 include(TEMPLATEPATH . '/title_list.php');
}
?>

3、要实现id为8、9、10三个分类使用thumb_list.php样式,id为1、2、3的分类使用img_list.php样
式,其余使用title_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数组的表单,就可以让主题使用者方便地设置啦。