主页不同的CSS

时间:2013-05-31 13:23:37

标签: php css wordpress

好的,基于traitadmin的答案here(向下滚动)我试图为我的首页显示不同的CSS,为所有其他页面显示一个。

以前,我的身体标签看起来像这样:

<body <?php  body_class() ?>> 

现在,我编辑它看起来像这样:

<body <?php if (is_home()) { ?> id="home"<?php } else { ?> body_class()<?php } ?> >

此外,我已将新的样式表添加到我的队列中,并且主页的所有样式现在都在#home之前。

然而,现在根本没有风格,我的网站完全崩溃了所有页面。

我想我的主页也可能需要body_class()。但是我如何编辑这段代码以便它可以工作呢?

3 个答案:

答案 0 :(得分:0)

看起来像wordpress代码所以这里: 在头脑中:

<?php if (is_home()) {
    // loading the stylesheet if it is the homepage
    echo '<link rel="stylesheet" href="home.css">'
} else {
    // loading the other stylesheet if it is not the homepage
    echo '<link rel="stylesheet" href="other.css">'
} ?>

答案 1 :(得分:0)

最简单的是:

<link rel="stylesheet" href="main.css">
<?php if (is_home()) {
    echo '<link rel="stylesheet" href="home.css">'
} ?>

home.css中的规则应优先于main.css。所以,如果main.css有这个:

body { background-color: white; }

和home.css有这个:

body { background-color: blue; }

由于home.css在main.css之后链接,因此home.css中的规则将优先,背景将为蓝色。这样,您只能覆盖所需的样式,并且所有其他样式仍然适用。

在您的另一个wp_register_style()之后,只需添加if测试,然后注册另一种样式。

if (is_home()) {
    wp_register_style('home-style',get_stylesheet_directory_uri().'/stylesheets/home.css');
}

答案 2 :(得分:0)

默认情况下,WordPress会在body标签中添加两个类:在首页(is_front_page())上添加home类,在主页上添加is_home()){ {1}}类被添加。因此,在您的主CSS文件中,您可以使用body类,如下所示:

blog