zoukankan      html  css  js  c++  java
  • 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样式,代码如下:

    1
    2
    3
    4
    5
    6
    7
    
    < ?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样式呢?可以通过数组实现,以此类推,具体代码如下:

    1
    2
    3
    4
    5
    6
    7
    
    < ?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实现,代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    < ?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不同分类下的文章使用不同文章样式

    这里的文章样式,指的就是文章内容页的样式。实现的方法和上面说到的方法二的原理是一样的,只不过使用的函数不是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样式,代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    < ?php 
    if ( in_category(array(8,9,10)) ) {
        include(TEMPLATEPATH . '/single1.php');
    } elseif ( in_category(array(1,2,3)) {
        include(TEMPLATEPATH . '/single2.php');
    } else {
        include(TEMPLATEPATH . '/single3.php');
    }
    ?>

    好了,基本的思路就是这样,最后的总结只有一句:分类页判断分类用is_category(), 内容页判断分类需用in_category()。

  • 相关阅读:
    poj 2533 (LIS 最长递增子序列)
    zoj 2432(最长递增上升子序列)
    hdu 1159(最长公共子序列)
    2013 腾讯马拉松初赛 第1场
    poj 1458(最长公共子序列)
    hdu 4524(水题)
    hdu 4514(自己添加栈—— #pragma comment(linker, "/STACK:102400000,102400000" ))
    MVC3安装报错解决方案
    C# 用7Z 压缩 ZIP
    获得字符串中开始和结束字符串中间得值
  • 原文地址:https://www.cnblogs.com/anyaran/p/3628555.html
Copyright © 2011-2022 走看看