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

时间:2014-07-25 12:07:31

标签: html css wordpress

我想在主屏幕和文章屏幕上显示不同的标题部分。我觉得这样的事情会奏效:

<? 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; 
    }
}

实际上我在主页上看到绿色标题,在主页上看到蓝色标题。但我不是。有线索吗?

5 个答案:

答案 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