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

2014年5 月18日 / 网站源码 / 没有评论 / 1,039次

这段代码通过判断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();??>>

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

将以下代码添加到您当前主题的 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.     displaynone;
  3.     }

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