网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > WordPress
User Name
Password
 
FAQ Members List Calendar Cheap Glasses Mark Forums Read

Reply
 
Thread Tools Display Modes
  #1   IP: 114.238.122.106
Old 2014-02-19, 12:01 PM
topvip topvip is offline
超级版主
 
Join Date: 2006-01-04
Posts: 1206
topvip 正向着好的方向发展
Default WordPress不同分类使用不同分类列表样式和文章样式

首先,我们要来认识两个WordPress函数 is_category 和 in_category ,具体的介绍,自己google去吧,倡萌就不啰嗦了,总之,这两个函数在使用上的一个比较大的区别是 分类页判断分类用is_category(), 内容页判断分类需用in_category()。

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样式,代码如下:
Code:
<?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样式呢?可以通过数组实现,以此类推,具体代码如下:
Code:
<?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实现,代码如下:
Code:
<?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不同分类下的文章使用不同文章样式

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


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 01:58 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.