芒果小站

  1. 全球最具业界良心的主机 - DigitalOcean

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - DigitalOcean

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - DigitalOcean

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
10

根据不同页面分别加载不同 CSS

作者 芒果/分类 教程/发布于 2009-10-11 22:30

在 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="http://mangguo.org/load-different-css-according-to-different-page/" title="根据不同页面分别加载不同 CSS" rel="bookmark">根据不同页面分别加载不同 CSS | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 10 条群众意见

  1. sleepy /2009-10-12 08:57

    简单实用,很好。 回应

    #1
  2. Hobo /2009-10-12 11:04

    暂时还是在老老实实的用人家的模板。 回应

    #2
  3. 万戈 /2009-10-12 16:22

    我就是这么做的,不过现在要修改 CSS 好麻烦的说,沾边的样式表都要修改过。。。 回应

    #3
  4. niuhuifei /2009-10-12 21:22

    深入细致的简单学习一下。 回应

    #4
  5. 洞可 /2009-10-16 23:34

    这方法很好啊 ,实现风格化的页面不错。 回应

    #5
  6. bolo /2009-10-17 23:14

    利用这个方法能是自己的网站更加个性,顺便说说,我换域名了,http://imbolo.com 回应

    #6
  7. 菲萨塔 /2009-10-22 15:08

    太棒了今天又学了一样新东西,以前只是了解,现在是深入的了解!!!! 回应

    #7
  8. hiro /2009-10-24 22:29

    用判断函数就可以非常简单地实现了! 回应

    #8
  9. hiro /2009-10-24 22:30

    不仅仅可以用来加载不同的 css,用条件判断函数也可以加载任何不同的内容,所以我的博客的主要代码都集合在 index.php 文件中。。。。 回应

    #9
  10. 百奥博 /2010-09-03 16:43

    不同页面如何加载不同 js? 回应

    #10

下面我简单说几句