导航栏的不同颜色

时间:2015-07-27 作者:cp_miramar

我面临着一个特殊的问题:一旦用户单击某个特定菜单,我如何更改导航栏的颜色?,i、 (我点击“联系人”菜单,导航栏的颜色变为灰色)。

我发现关于这个问题的文章很少,但只有一篇引起我注意:http://bit.ly/1Ku8hFT . 它简单地说,标题。php文件可以通过使用is\\u page()函数对其进行修改来实现这种效果。仅供参考,我还检查了该文件中的代码,并在下面列出了具体的代码行,我认为应该设置这些代码行的条件,以达到预期的效果。

<nav id="site-navigation" class="main-navigation top-navigation" role="navigation">
    <?php 
        $anyMenu = get_terms( \'nav_menu\' ) ? true :false;
        $menuSelect = get_theme_mod(\'my_theme_tho_header_menu_select\');
    if ( $anyMenu && ( ( $menuSelect ) && ( $menuSelect !== \'none\' ) ) ) :
        wp_nav_menu( array( \'menu\' => $menuSelect, \'container_class\' => \'header-menu\' ) );
    elseif ( $anyMenu && ( !$menuSelect || ( $menuSelect == \'none\' ) ) ) :
        $menu = get_terms( \'nav_menu\' );
        $menu_id = $menu[0]->term_id;
        wp_nav_menu( array( \'menu_id\' => $menu_id ) );
   elseif ( !$anyMenu ) :
        wp_nav_menu( array( \'theme_location\' => \'primary\', \'menu_class\' => \'nav-menu\' ) );
   endif;
    ?>
</nav><!-- #site-navigation -->
我想知道是否有人有更好的主意来获得我想要的效果(比如插件,或者我是否需要查看另一个.php文件并添加一些代码,而不是这个文件,因为我不完全相信通过修改header.php我会得到结果。最后,我运行的Word Press版本是4.2.3。

我们将非常感谢您的所有意见、反馈和解决方案。

1 个回复
最合适的回答,由SO网友:William Turrell 整理而成

我真的不明白你想在PHP中做什么。

最简单的方法(在我看来,更优雅的解决方案,因为这是一个表象问题)是在CSS中实现这一点。默认情况下,WordPress在您的<body> 标签,例如:

<body class="single single-post postid-53 single-format-standard logged-in admin-bar"> 

Full list of classes

parent-pageid-{ID} 如果一个节中有多个子页,则此选项非常有用。

因此,在主题的CSS文件中,您可以根据可见的帖子、页面或类别来控制导航栏的颜色,例如。

.page-id-1 .top-navigation {
  background-color: blue;
}

.page-id-2 .top-navigation {
  background-color: green;
}
另请参见question about custom CSS for your homepage.

结束

相关推荐

Wordpress Flyout Menus

我有一个有点复杂的菜单结构,我正试图找出最好的方法来做到这一点。I have a top nav 它有4个部分。每个部分最多有2层深。而且I have a SUB Nav 这是基于您所在的部分,并显示为向下钻取,显示您拥有的页面。例如,假设我单击第二级顶部导航-然后我将转到显示打开并选中该部分的子页面。我希望我的解释是正确的。。。谢谢我的问题是:最好的方法是什么。我研究了一些插件,但似乎找不到合适的插件。我不需要使用插件。