我有一个侧边栏显示在主页和单页上。当它显示在主页上时,它已经定义了一个css类(宽度:30%)
当它显示在单个页面中时,我想向侧边栏添加/插入一个新类。我希望这种新样式可以修改预先定义的元素。所以它以35%的宽度结束
我试着做如下:
In functions.php (child theme)
function sidebar_class() {
if ( is_single() ) {
$class = \'sidebar-single\';
}
return $class;
}
In sidebar.php
<div id="secondary" class="sidebar1-area <?php sidebar_class(); ?>" role="complementary">
The html result should be:
<div id="secondary" class="sidebar1-area sidebar-single" role="complementary">
Original css values for the class
width: 30%
Final result
width:35%
我如何才能以最有效的方式实现这一点?
最合适的回答,由SO网友:Charles Clarkson 整理而成
我如何才能以最有效的方式实现这一点?
像Rarst 指示不更改类以更改样式。保持类不变并使用CSS Specificity 更改某些页面上的样式。
WordPress在使用body_class()
函数它在body标记的html类中添加了很多关于页面的信息。看看single创建的页面上的标签。php和该类将包括类名single。
使用该选项可以指定single的样式。php文件。
#secondary {
/** These styles work on all pages. */
}
body.single #secondary {
/** These styles only work on single.php pages. */
}
body.home #secondary {
/** These styles only work on home pages. */
}
请参见
body_class()
函数获取添加类的详细信息。