it-swarm.cn

类别页面的自定义样式

在查看仅属于该类别的页面时,是否有办法让某些类别的页面样式显示不同?

1
GSto

如果你想要不同类别的不同布局,@ EAMann有一个很好的答案。 OTOH如果您只想将CSS更改为,例如,为每个类别设置不同的背景颜色那么您会发现大多数主题都包含类别slug as <body>元素上的CSS类和/或主题输出的其他HTML元素。 (即使你的主题没有,你也可以自己添加这些功能。)

例如,TwentyTen主题正是如此;对于以下URL:

http://example.com/category/category-1/

这是<body>元素的样子:

<body class="archive category category-category-1">

了解上述内容后,您可以将以下样式添加到主题的style.css文件中,以使每个页面具有不同的颜色背景(当然,我在这里非常简单;您的实际CSS肯定会更复杂):

/* style.css */
body.category-category-1 {
  background-color: red;
}
body.category-category-2 {
  background-color: green;
}
body.category-category-3 {
  background-color: blue;
}

你真正需要做的就是弄清楚你的主题是否这样做是为了查看源在感兴趣的类别页面上搜索你的类别slug。

使用儿童主题

当然你可能不想修改主题的style.css;你可能想要创建一个 子主题 。以下是我谈论儿童主题的一些答案:

请注意,并非所有主题都支持子主题,论文是一个值得注意的例子。在这些主题的情况下,您将不得不更深入地研究它们的扩展方式。

4
MikeSchinkel

如果需要,您可以为每个类别设置一个 不同的模板 具有自己的样式定义集。然后,您可以针对某些类别对页面设置不同的样式,但在查看仅属于该类别的页面时,仅限。

只需在您的主题中使用这些:

  1. 品类slug.php
  2. 品类ID.php
1
EAMann

埃里克说的话。但是如果你只想改变风格而不是标记,那么就有一种更简单的方法。只要您的主题在开始正文标记中包含body_class()调用,WP将为您的页面添加各种有用的CSS挂钩。默认标记会将以下类添加到类别存档的body元素:

  • 档案
  • 类别
  • 类别的蛞蝓

您可以根据自己的喜好进行设计。很多主题框架会为你的body类添加更多有用的钩子,虽然其中一些我不可能看到真实世界的用例。

0
goldenapples