我试图为每个类别放置不同的身体背景图像。
body {
background-color: #000;
background-image: url(img/bg.png);
background-repeat: no-repeat;
background-position: center top;
font-size: 14px; color: #555;
font-family: Arial, Helvetica, Verdana, sans-serif; }
我只想与众不同
background-image: url(img/bg.png);
对于每个类别。
我找到了一种可能的方法。是这样的:
<link rel="stylesheet" href="" type="text/css" media="screen,projection" />
<? php if( is_category(1) ) { ?>
<link rel="stylesheet" href="" type="text/css" media="screen" />
<?php }
elseif ( is_category (2) ) { ?>
<link rel="stylesheet" href="" type="text/css" media="screen" />
<?php }
elseif ( is_category (33) ) { ?>
<link rel="stylesheet" href="" type="text/css" media="screen" /> <?php }
else { ?> <?php } ?>
尽管如此,我很确定这不是实现我目标的最佳方式,因为:
1) 它查找整个样式表2)在标题内进行查询。php这可能不是考虑页面速度的最佳方式
我的想法是创建不同的身体类别:
body.apple { code here }
body.area { code here }
body.usa { code here }
body.bolt { code here }
body.jennifer { code here }
。。。或者别的什么。
我只需要php从一个样式表中为不同的类别加载不同的主体类。
有人有好的解决方案吗?
最合适的回答,由SO网友:supertrue 整理而成
你可以使用Wordpress的handybody_class()
作用取决于它是否以及如何在你的主题中使用,它可能已经为你提供了你所需要的。以下是如何找到答案:
检查页面的源代码,查看<body>
类别存档页中的标记具有包含类别段塞的任何类别:category-apple
, category-area
, category-usa
, 等等。默认情况下,通常会包括这些内容。
如果它们存在,您可以在CSS中使用它们作为选择器:body.category-apple { /* code here */ }
, 等
如果没有,请添加body_class()
功能到<body>
标记在主题中,可能位于标题中。php。其工作原理如下:
<body <?php body_class(); ?>>
或者,您可以添加任何额外的类作为参数。
以下是Wordpress Codex中的条目:http://codex.wordpress.org/Function_Reference/body_class
SO网友:s_ha_dum
如果主题正在使用body_class
应该是这样的,那么您已经拥有了所需的所有课程。
对于类别,您应该具有:
如果您有很多类别规则,我建议您有条件地仅为类别存档加载样式表。如果你只有很少的规则,那就不值得了。只需将它们包含在主样式表中即可。
function load_cat_style_wpse_87295() {
if (!is_category()) return false;
wp_register_style( \'catstyle\', get_stylesheet_directory().\'/path/to/stylesheet\', false, null, \'all\' );
wp_enqueue_style( \'catstyle\' );
}
add_action( \'wp_enqueue_scripts\', \'load_cat_style_wpse_87295\' );