按WordPress分类ID为页面添加相应的class

这段代码通过判断WordPress分类ID,自动在分类页面和文章页面的<body> 标签中添加“cat-6-id”例如:

<body?class="archive category category-wordpress category-6 logged-in custom-background?cat-6-id">

其中数字为该分类的ID号,前提是主题模板必须使用函数:

  1. <body?<?php?body_class();??>>

有了这个非常方便的功能,你就可以针对不同的分类定义不同的样式风格。

按WordPress分类ID为页面添加相应的class

WordPress

将以下代码添加到您当前主题的 functions.php 文件:

  1. function?category_id_class($classes)?{
  2. ?????global?$post;
  3. ??????????foreach((get_the_category($post->ID))?as?$category)
  4. ???????????????$classes?[]?=?'cat-'?.?$category->cat_ID?.?'-id';
  5. ?????return?$classes;
  6. }
  7. add_filter('post_class',?'category_id_class');
  8. add_filter('body_class',?'category_id_class');

 

应用实例:

比如:HotNewspro主题,在分类ID为6的分类归档和文章页面隐藏热点文章(顶部的四张图片),可在主题样式文件style中添加:

  1. .cat-6-id,?#top_hot?{
  2. ????display:?none;
  3. ????}

一举反三,可以定义其它任意位置的文字大小,背景颜色等与其它分类不同。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: