WordPress不同分类使用不同的样式
- 发表于
- WordPress
为不同的分类日志设置不同的样式的方法之一:
使用Wordpress的一个条件标签来检测某分类下面的日志,然后改变日志页面的header头部声明来为特定的分类自定义样式表。
默认情况下,WordPress Template Hierarchy/模板层次 状态是当你点击一个单篇日志页 面时,Wordpress将自动醒找single.php模板文件,如果没有找到,则查找index.php文件。
IF IN_CATEGORY 条件标签
首先,复制两个single.php文件分别取名为“single1.php” 和“single2.php”。然后,把原先的single.php文件里面的内容全部删除,并用下面的代码进行替换:
1 2 3 4 5 6 7 8 |
<?php $post = $wp_query->post; if ( in_category(’9′) ) { include(TEMPLATEPATH . ‘/single2.php’); } else { include(TEMPLATEPATH . ‘/single1.php’); } ?> |
意思是:检查日志,如果日志属于分类ID9,则显示single2.php,如果不是,则显示single1.php。
还可以使用更多的条件语句来为不同的类别指定不同的样式和内容,例如:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $post = $wp_query->post; if ( in_category(’9′) ) { include(TEMPLATEPATH . ‘/single9.php’); elseif ( in_category(’12′) ) { include(TEMPLATEPATH . ‘/single12.php’); elseif ( in_category(’42′) { include(TEMPLATEPATH . ‘/single42.php’); } else { include(TEMPLATEPATH . ‘/single1.php’); } } ?> |
因为并不想都改变这两个single模板文件, 而仅仅是添加额外的样式表到第二个也就是single2.php文件, 于是再创建两个header模板文件,就像复制single.php一样。然后在第二个header文件的顶部添加上外部样式表的链接:
1 2 3 4 |
<style type=“text/css” media=“screen”> @import URL(‘/wp-content/themes/mytheme/style.css’); @import URL(‘/wp-content/themes/mytheme/cssstyles.css’); </style > |
接着,就是要在第二个single2.php里面调用header2.php:
1 2 3 4 5 |
<?php /* Don’t remove this line. */ require(‘./wp-blog-header.php’); include(get_template_directory() . ‘/header2.php’ ?> |
WordPress自备功能
原理:
WordPress默认的分类是查找对应ID的主题文件,找不到就会指向archive.php文件,如果archive.php文件不存在,就会默认使用index.php文件。
方法一:
到博客后台查看一下要设计样式的分类的ID,假设分类ID为8,之后把主题文件archive.php复制一下,把文件改名为:category-8.php,这样当你浏览分类ID为8的分类时,就会自动调用category-8.php主题文件(这个功能是全自动的),就实现了自定义显示分类为8的样式。
方法二:
基本思路和方法一是一样的,只是我们要找的不再是分类ID,而是分类别名,比如中国博客联盟的主题模板分类的别名为themes,那就可以把使用的主题文件category-8.php改名为category-themes.php这样,浏览主题模板分类时,也会自动使用category-themes.php文件,效果一样。
原文连接
的情况下转载,若非则不得使用我方内容。