如何在Single.php中向侧边栏添加/插入类?

时间:2013-09-12 作者:Gixty

我有一个侧边栏显示在主页和单页上。当它显示在主页上时,它已经定义了一个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%
我如何才能以最有效的方式实现这一点?

1 个回复
最合适的回答,由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() 函数获取添加类的详细信息。

结束

相关推荐

我真的需要在主题文件中链接我的主题的style.css吗

因此,我正在开发一个wordpress主题,使用一系列较少的CSS文件。这些使用codekit编译成一个组合的小型样式表,我用它来设置主题的样式。我理解wordpress主题必须有一种风格。css,它在注释中包含有关主题的信息,但需要链接此样式。标题中的css。php?当然,我可以只把主题信息放在里面,而不放在其他任何东西里,并且在主题文件夹中保持不变。我实际使用的样式表可以称为样式。css或main。css之类的。有人能证实这一点或给出为什么这可能是个坏主意的原因吗?