在 WordPress 中,需要根据不同页面(如分类页、存档页、文章页等)分别加载不同 CSS,从原理上说,只需利用 WordPress 系统函数作一些简单判断即可实现。
以分类页面为例,原先的 CSS 加载代码如下:
<link rel="stylesheet" type="text/css" href="style.css" />
若 CSS 文件随分类改变,需要用 PHP 实现动态变化,代码如下:
<link rel="stylesheet" type="text/css" href="<?php foreach((get_the_category()) as $cat){echo $cat->cat_ID;}?>.css" />
标红部分获得分类 ID 编号,不同的分类 CSS 保存为“分类 ID.css”的形式即可。如果要获得别名,则判断代码为:
<?php foreach((get_the_category()) as $cat){echo $cat->category_nicename;}?>
注意:get the category 可以获取 cat_ID(分类 ID)、cat_name(分类名)、category_nicename(分类缩略名)、category_description(分类描述)、category_parent(分类层级)以及 category_count 等数据值。
如果只需对为数不多的几个分类设置单独的 CSS 的话,程序判断上可以简略些,代码示例如下:
<link rel="stylesheet" type="text/css" href=" <?php $categories = get_the_category($post->ID); if(is_category('1')) echo "style1.css"; elseif(is_category('2')) echo "style2.css"; elseif(is_category('3')) echo "style3.css"; else echo "style.css"; ?>" />
以上代码未经芒果测试,但从方法上已经比较清楚。芒果之前也已经提到过类似的方法,详细参考:为 WordPress 添加分类图标
版权所有,转载请注明出处。
转载自 <a href="https://mangguo.org/load-different-css-according-to-different-page/" title="根据不同页面分别加载不同 CSS" rel="bookmark">根据不同页面分别加载不同 CSS | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。
/2009-10-12 08:57简单实用,很好。
/2009-10-12 11:04暂时还是在老老实实的用人家的模板。
/2009-10-12 16:22我就是这么做的,不过现在要修改 CSS 好麻烦的说,沾边的样式表都要修改过。。。
/2009-10-12 21:22深入细致的简单学习一下。
/2009-10-16 23:34这方法很好啊 ,实现风格化的页面不错。
/2009-10-17 23:14利用这个方法能是自己的网站更加个性,顺便说说,我换域名了,http://imbolo.com
/2009-10-22 15:08太棒了今天又学了一样新东西,以前只是了解,现在是深入的了解!!!!
/2009-10-24 22:29用判断函数就可以非常简单地实现了!
/2009-10-24 22:30不仅仅可以用来加载不同的 css,用条件判断函数也可以加载任何不同的内容,所以我的博客的主要代码都集合在 index.php 文件中。。。。
/2010-09-03 16:43不同页面如何加载不同 js?