我想在主屏幕和文章屏幕上显示不同的标题部分。我觉得这样的事情会奏效:
<? php if( is_home() ) { ?>
<header class="header home" role="banner">
<?php } else { ?>
<header class="header" role="banner">
<?php
}
?>
在我的CSS中,会发生以下情况:
.header {
background: $blue;
&.home {
background: $blue;
}
}
实际上我应在主页上看到绿色标题,在主页上看到蓝色标题。但我不是。有线索吗?
答案 0 :(得分:1)
尝试更改后
<? php if( is_home() ) { ?>
到
<? php if( is_home() || is_front_page() ) { ?>
答案 1 :(得分:1)
假设您发布的代码是您使用代码的代码,则将$blue
属性应用于.header
和.header.home
,而不是应用{{1}之类的内容其中一个。
$green
如果您已声明变量$ green以保存代表绿色的十六进制值,请尝试
.header {
background: $blue;
&.home {
background: $blue;
}
}
请参阅此JSFiddle以获取一个工作示例:http://jsfiddle.net/SSCnJ/
答案 2 :(得分:1)
最后,我们发现问题是&lt;?之间的单个空格和'php'。
感谢并享受您的代码!
答案 3 :(得分:0)
它可能不是解决方案,但您也可以尝试更改此
background: $blue;
到这个
background-color: $blue;
假设$ blue持有前面带#的十六进制值,或者是rgba值。
希望这有帮助。
答案 4 :(得分:0)
尝试使用
<? php if( is_front_page() ) { ?>
<header class="header home" role="banner">
<?php } else { ?>
<header class="header" role="banner">
<?php
}
?>
仅当您设置了首页显示时,is_home()才会在主页上返回true - &gt;您在阅读设置中的最新帖子。
有关详细信息,请参阅http://codex.wordpress.org/Function_Reference/is_home#Blog_Posts_Index_vs._Site_Front_Page