【问题标题】:Adact wordpress menu to bootstrap使 wordpress 菜单适应引导程序
【发布时间】:2018-06-04 14:52:27
【问题描述】:

我希望我的菜单保持这种状态。

<ul class="navbar-nav ml-auto">
  <li class="nav-item active">
    <a class="nav-link" href="#">Inicio
      <span class="sr-only">(current)</span>
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Nosotros</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Contactanos</a>
  </li>
</ul>

我尝试按如下方式进行

<ul class="navbar-nav ml-auto">
  <?php 
    wp_nav_menu([
      'container'      => false,
      'items_wrap'     => '%3$s',
      'theme_location' => 'menu_top'               
    ]);
  ?>
</ul>

存档functions.php

<?php 

register_nav_menus([
   'menu_top' => 'Menu superior'
]);

?>

但我用这个实现的是获得以下内容

<ul class="navbar-nav ml-auto">
    <li id="menu-item-4" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4"><a href="#">inicio</a></li>
</ul>

正如我放置我想要的类,以及指定一个选项是active 一样。我正在使用引导程序 4。

【问题讨论】:

    标签: wordpress wordpress-theming bootstrap-4


    【解决方案1】:

    使用此代码,您可以收集菜单项并使用 foreach 打印它们:

    <?php
      $currentURL         = home_url( $_SERVER['REQUEST_URI'] );                      
      $menuItemCollection = wp_get_nav_menu_items( 'menu_top' );
    ?>
    
    <ul class="navbar-nav ml-auto">
      <?php foreach ( $menuItemCollection as $menuItem ): ?>
        <?php $activeClass = ($menuItem->url == $currentURL) ? ' active' : ''; ?>
    
        <li class="nav-item<?php echo $activeClass; ?>">
          <a class="nav-link" href="<?php echo $menuItem->url; ?>">                                        
            <?php echo $menuItem->title; ?>
          </a>
        </li>
    
      <?php endforeach; ?>
    </ul>
    

    【讨论】:

    • 我尝试了你的代码,但是这样做wp_get_nav_menu_items( 'menu_top' ); 是无效的,有点想法。
    • 您在管理员Menu superior 中有任何项目吗?
    • 你好,谢谢
    猜你喜欢
    • 2021-07-22
    • 2014-01-13
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 2017-11-11
    • 2019-01-30
    相关资源
    最近更新 更多