【问题标题】:Integrating a custom bootstrap navigation menu (custom ids/classes) into Wordpress (wp_nav_menu)将自定义引导导航菜单(自定义 ID/类)集成到 Wordpress(wp_nav_menu)中
【发布时间】:2017-08-31 14:38:20
【问题描述】:

我在这个问题上玩得很开心。除了这对我来说一切都很好,所以希望我能得到一些反馈。我使用 twitter bootstrap 设计了一个静态网站,并对结构进行了很多改动。将其转换为动态的 wordpress 主题。我有一个 navbar-left 和 navbar-right ul,因为在较大的尺寸 (sm-lg) 上,徽标出现在导航栏的中心,左侧有 3 个链接,右侧有 3 个链接。

一切都很好,除非我尝试将我的样式应用于生成的 wp_nav_menu。我不太了解这部分内容,所以希望有一个简单的解释。我尝试将自定义 css 添加到菜单中(基本上在 Wordpress 中将其添加到每个菜单项中)但没有成功。我也知道需要安装导航步行器,这没问题。下面是它的 HTML:

          <!-- Collect the nav links, forms, and other content for toggling -->

            <div id="navbar-collapse-main" class="collapse navbar-collapse">
                <ul id="left-side-nav" class="nav navbar-nav navbar-left">
                    <li><a class="nav-links" href="page-home.php">Home</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle nav-links" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu<span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-links" href="#">Drink Menu</a></li>
                            <li><a class="dropdown-links" href="#">Food Menu</a></li>
                            <li><a class="dropdown-links" href="#">Specials</a></li>
                        </ul>
                    </li>
                    <li><a class="nav-links" href="#">Order</a></li>
                </ul>
                <!-- /#left-side-nav -->

                <ul id="right-side-nav" class="nav navbar-nav navbar-right">
                    <li><a class="nav-links" href="#">Catering</a></li>
                    <li><a class="nav-links" href="#">Our Story</a></li>
                    <li><a class="nav-links" href="#">Contact</a></li>
                </ul>
                <!-- /#right-side-nav -->
            </div>
            <!-- /.navbar-collapse --> 
        </div>
        <!-- /.container -->
    </nav>
    <!-- /#main-nav -->

这里是 wp_nav_menu

            <?php 
            wp_nav_menu( array(
                'theme_location'        => 'primary',
                'container'             => 'nav', 
                'container_id'          => 'navbar-collapse-main',
                'container_class'       => 'collapse navbar-collapse',
                'menu_class'            => 'navbar-right navbar-left'
                ) );
            ?>

【问题讨论】:

    标签: wordpress twitter-bootstrap-3 wordpress-theming wp-nav-walker


    【解决方案1】:

    这个函数的参数几乎都是字符串,据我所知你不能用它同时调用两个菜单。

    我会做这样的事情:

    <div id="navbar-collapse-main" class="collapse navbar-collapse">
    <?php
    wp_nav_menu( array(
                    'menu'        => 'YOUR_MENU_ID',
                    'menu_id'     => 'left-side-nav',
                    'menu_class'  => 'navbar-left'
                ) );
    wp_nav_menu( array(
                    'menu'        => 'YOUR_MENU_ID',
                    'menu_id'     => 'right-side-nav',
                    'menu_class'  => 'navbar-right'
                ) );
    ?>
    </div>
    

    您可以在菜单管理页面的“屏幕选项”中启用“CSS 类”选项,并且可以将自定义类添加到您的菜单项。

    【讨论】:

    • 我回去补充说:
    • 该建议使菜单正常工作。我遇到的唯一问题是链接样式无法正常工作。导航链接和下拉链接要特别注意。谷歌字体不适用,颜色/悬停颜色不适用
    • 你可以尝试将你的 CSS 编辑成这样:而不是使用类 nav-links 使用 navbar-nav > li > a,而不是 下拉链接 使用 .dropdown-menu > li > a。或者您可以使用 javascript 添加此类
    • 我不知道您是否注意到,但是自定义类已添加到 li 标记中,因此您无论如何都必须编辑您的 CSS
    • 它们被添加到锚标签中。终于明白了,谢谢!
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签