WordPress-在主页上显示不同的HTML元素

WordPress-在主页上显示不同的HTML元素,html,css,wordpress,Html,Css,Wordpress,我想在主屏幕和文章屏幕上显示不同的标题部分。我认为这样做会奏效: <? php if( is_home() ) { ?> <header class="header home" role="banner"> <?php } else { ?> <header class="header" role="banner"> <?php } ?> 实际上,我应该在主页上看到一个绿色标题,在主页上看到一个蓝色标题。但我没有。

我想在主屏幕和文章屏幕上显示不同的标题部分。我认为这样做会奏效:

<? php if( is_home() ) { ?>
  <header class="header home" role="banner">
  <?php  } else { ?>
  <header class="header" role="banner">
  <?php
 }
?>
实际上,我应该在主页上看到一个绿色标题,在主页上看到一个蓝色标题。但我没有。有什么线索吗?

更改后再试一次

<? php if( is_home() ) { ?>


这可能不是解决方案,但您也可以尝试更改此选项

 background: $blue; 
对此

 background-color: $blue; 
假设$blue包含一个前面有#的十六进制值,或者是一个rgba值


希望这能有所帮助。

假设您发布的代码就是您正在使用的代码,您可以对
.header
.header.home
应用
$blue
属性,而不是对其中一个应用
$green
之类的内容

.header {
    background: $blue;

    &.home {
        background: $blue; 
    }
}
如果您声明了一个变量$green来保存表示绿色的十六进制值,请尝试

.header {
    background: $blue;

    &.home {
        background: $green; 
    }
}
请参阅此JSFIDLE以了解工作示例:

尝试使用

<? php if( is_front_page() ) { ?>
    <header class="header home" role="banner">
    <?php  } else { ?>
    <header class="header" role="banner">
    <?php
  }
?>

仅当您在阅读设置中设置了首页显示->最新帖子时,is_home()才会在主页上返回true


欲了解更多信息,请阅读

最后一篇文章,我们发现问题出在一个空格之间,仍然没有运气。有趣的是,我的页面不再呈现。也许我缺少一个括号?css类可以吗?如果在头文件中包含css,您可以尝试更改classecho的名称,而不是if-else条件中的代码,这样您就可以在php错误或htmlYeah是SASS变量时使用dbug。$blue变量包含一个十六进制颜色值:)您总是测试代码,问他:echo is_home();echo是首页();这样你就能知道你在哪里了。享受你的代码!不,在if条件下不应使用echo。单独使用。或者更好。因此,您可以测试函数is_home和is_front_page()的布尔返回。让我知道结果。要在页面上显示任何错误,请使用页面顶部的指示:嗯,仍然没有显示任何内容。对不起,我知道这一定很令人沮丧。这就是我当前的代码:我的好朋友,你刚刚解决了这个问题!我最初发布的代码实际上工作得很好-但是在抱歉之间缺少了一个空格-这实际上是一个愚蠢的CSS错误,我一发布上面的消息就发现了!谢谢你的建议!不幸的是,整个页面现在不再在加载时呈现。我的本地MAMP地址正在显示一个空白页:(仅供参考,我的当前设置已设置为显示最近的帖子。这是我设计网页的方式,因此如果可能,我希望保留该主页类型:)再次感谢朋友:)
.header {
    background: $blue;

    &.home {
        background: $green; 
    }
}
<? php if( is_front_page() ) { ?>
    <header class="header home" role="banner">
    <?php  } else { ?>
    <header class="header" role="banner">
    <?php
  }
?>