将自定义 bootstrap 导航菜单(自定义 ids/classes)集成到 Wordpress (wp_nav_menu)
Integrating a custom bootstrap navigation menu (custom ids/classes) into Wordpress (wp_nav_menu)
这个问题让我很不爽。除此以外的所有内容对我来说都非常有用,所以希望我能得到一些反馈。我使用 twitter bootstrap 设计了一个静态网站,并对结构做了很多改动。将其转换为动态 wordpress 主题。我有一个 navbar-left 和 navbar-right ul,因为在较大的尺寸 (sm-lg) 上,徽标出现在我的导航栏的中央,左侧有 3 个链接,右侧有 3 个链接。
一切都很好,除了当我尝试将我的样式应用到生成的 wp_nav_menu 时。我真的不明白这部分内容,所以希望能得到一个简单的解释。我尝试将自定义 css 添加到菜单(基本上在 Wordpress 中将其添加到每个菜单项)但没有成功。我也知道需要安装 nav walker,这没问题。下面是它的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'
) );
?>
这个函数的参数几乎都是字符串,所以据我所知你不能用它同时调用两个菜单。
我会做的是这样的:
<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>
并且您可以在菜单管理页面的 "Screen options" 中启用选项 "CSS Classes",然后您可以将自定义 类 添加到您的菜单项。
这个问题让我很不爽。除此以外的所有内容对我来说都非常有用,所以希望我能得到一些反馈。我使用 twitter bootstrap 设计了一个静态网站,并对结构做了很多改动。将其转换为动态 wordpress 主题。我有一个 navbar-left 和 navbar-right ul,因为在较大的尺寸 (sm-lg) 上,徽标出现在我的导航栏的中央,左侧有 3 个链接,右侧有 3 个链接。
一切都很好,除了当我尝试将我的样式应用到生成的 wp_nav_menu 时。我真的不明白这部分内容,所以希望能得到一个简单的解释。我尝试将自定义 css 添加到菜单(基本上在 Wordpress 中将其添加到每个菜单项)但没有成功。我也知道需要安装 nav walker,这没问题。下面是它的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'
) );
?>
这个函数的参数几乎都是字符串,所以据我所知你不能用它同时调用两个菜单。
我会做的是这样的:
<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>
并且您可以在菜单管理页面的 "Screen options" 中启用选项 "CSS Classes",然后您可以将自定义 类 添加到您的菜单项。