如何更改WordPress菜单标记/类

时间:2017-06-15 作者:Eiwa

我正在WordPress上建立我的第一个网站,我想问问是否有人知道如何更改WordPress菜单中的标记。基本上,我希望WordPress导航的标记与我在静态模板中所做的匹配。

<div class="topNav">
        <ul>
          <li><a href="#">About</a></li>
          <li><a href="#">Mes siūlome</a></li>
          <li class="dropdown">
            <a class="dropbtn">if Has subMenu</a>
            <div class="dropdown-content">
              <a href="#"> Sub1</a>
              <a href="#"> Sub2</a>
              <a href="#"> Sub3</a>
            </div>
          </li>
          <li><a href="#">Contact</a></li>
        </ul>
      </div>
然而,我得到了这样的东西

<div class="menu-topnav-container">
   <ul id="menu-topnav" class="menu">
      <li id="menu-item-89" class="some random wordpress classes">
         <a href="#">about</a>
         <ul class="sub-menu">
            <li id="menu-item-90" class="some random wordpress classes"><a 
               href="http://test">example</a></li>
         </ul>
      </li>
      <li id="menu-item-92" class="some random wordpress classes"><a 
         href="http://2">example</a></li>
   </ul>
</div>
我知道我需要使用自定义walker类,但我不知道如何应用它:(有人能帮我吗?我需要这个标记结构,因为我不想重写所有css代码。

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

更改CSS是应用所需样式的最简单方法。

杰克提到的另一种选择是创建一个定制的助行器。这个Codex 具有良好的概述。

第三个选项是happy medium-您可以使用wp_nav_menu() 呼叫例如,此呼叫

wp_nav_menu(array(
    \'menu\' => \'myMenu\', // change this to call your desired menu
    \'container_class\' => \'topNav\', // changes outer <div> class
    \'items_wrap\' => \'<ul>%1$s</ul>\' // strips id & class from <ul>
));
将为您提供以下输出:

<div class="topNav">
   <ul>
      <li id="menu-item-89" class="some random wordpress classes">
         <a href="#">about</a>
         <ul class="sub-menu">
            <li id="menu-item-90" class="some random wordpress classes"><a 
               href="http://test">example</a></li>
         </ul>
      </li>
      <li id="menu-item-92" class="some random wordpress classes"><a 
         href="http://2">example</a></li>
   </ul>
</div>
因此,要更改的CSS更少,但您也不必构建整个Walker。

结束

相关推荐

Benefits of using Nav Walker?

使用nav walker类比遍历wp\\u get\\u nav\\u menu\\u items()有什么好处吗?Nav Walker对我来说似乎很笨重,在数组上进行迭代感觉更容易,也更易于重用,但它绕过了wordpress的内部菜单过滤器,而我对其了解不多。这会使我的主题与一些插件不兼容吗?如能在此提供最佳实践建议,将不胜感激。