wordpress - 不同页面的不同导航栏

标签 wordpress html css

我有一个导航栏,所有页面都可以通过 header.php 访问它,但是我需要主页使用不同的导航栏,其余页面需要不同的导航栏。

我通过像这样添加 css 使主页的导航栏绝对透明:

`

.navbar-inverse-blue .navbar-inner {
    padding: 7px 0;
    background: rgba(51, 51, 51, 0.3);
    border: none;
    font-size: 0.85em;
    position: absolute;
    z-index: 9999;
    width: 100%;
}

`

但在其他页面我想更改导航栏固定和非透明,为此我也有 css

.navbar-inverse-blue .navbar-inner {
padding: 7px 0;
border: none;
font-size: 0.85em;
z-index: 9999;
width: 100%;

这是我的 HTML 代码`

<div  id="nav-wrapper" data-spy="affix" data-offset-top="200"  class="navbar navbar-inverse-blue navbar">
<!--<div class="navbar navbar-inverse-blue navbar-fixed-top">-->
  <div class="navbar-inner">
    <div class="container">
       <div class="navigation">
         <nav id="colorNav">
           <ul>
            <li class="green">
                <a href="#" class="icon-home"></a>
                <ul>
                    <li><a href="login.html">Login</a></li>
                    <li><a href="register.html">Register</a></li>
                    <li><a href="index.html">Logout</a></li>
                </ul>
            </li>
           </ul>
         </nav>
       </div>
       <a class="brand" href="<?php echo esc_url(home_url('/')); ?>"><img src="<?php header_image(); ?>" alt="logo"></a>
       <div class="pull-right">
        <nav class="navbar nav_bottom" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
      <div class="navbar-header nav_2">
          <button type="button" class="navbar-toggle collapsed navbar-toggle1" data-toggle="collapse" data-target="#bs-megadropdown-tabs">Menu
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#"></a>
       </div> 
       <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-megadropdown-tabs">


            <?php
        wp_nav_menu( array(
            'menu'              => 'primary',
            'theme_location'    => 'primary',
            'depth'             => 2,
            'container'         => 'div',
            'container_class'   => 'collapse navbar-collapse',
            'container_id'      => 'bs-example-navbar-collapse-1',
            'menu_class'        => 'nav navbar-nav nav_1',
            'fallback_cb'       => 'WP_Bootstrap_Navwalker::fallback',
            'walker'            => new WP_Bootstrap_Navwalker())
        );
    ?>
         </div><!-- /.navbar-collapse -->
        </nav>
       </div> <!-- end pull-right -->
      <div class="clearfix"> </div>
    </div> <!-- end container -->
  </div> <!-- end navbar-inner -->
</div>

但我不知道该把代码放在哪里。正如我在每个页面中调用 header.php 一样。

最佳答案

另一种方法是使用过滤器添加/删除菜单项:

add_filter("wp_nav_menu_items", "new_menu_items");

您可以完全删除所有菜单项并根据您所在的页面添加新菜单项。我的一个元素的小例子:

function new_menu_items($items) {
   if(!is_user_logged_in) {
      $items .=  "<li class='menu-item'><a href='" . get_site_url() . "/login/' data-level='1'><span class='menu-item-text'><span class='menu-text'>" . __("Inloggen", "sz") . "</span></span></a></li>";
   }
}

关于wordpress - 不同页面的不同导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43755694/

相关文章:

MySQL服务器5.5 : unable to set password for the MySQL "root" user

wordpress - 使用 Magpie 过滤掉包含特定图像的 RSS 项目

html - 在 div 中定位图标

javascript - 如何将带有 Jquery 'after' 的最大长度消息添加到一类输入并更新它

javascript - 创建一个 float 按钮

css - 模糊所有,但 ng-repeat 中的一个 div

php - WooCommerce 结账字段未显示正确的错误消息

wordpress - 插件 : Yoast SEO - Meta Description Box

css - 无法适应网站作为屏幕的分辨率