Wp Nav Menu div containers

时间:2013-08-29 作者:simandir

您好,我想创建一个自定义导航菜单,需要创建div容器来保存子菜单集。换句话说,我想这样做:

  <ul class="left_menu">
     <li class="menu_item droped">
        <a class="top_link" href="#">Kurumsal</a>

     <div class="dropdown">
          <ul>
            <li><a href="#">Hakkımızda</a></li>
            <li><a href="#">Misyon Vizyon</a></li>
            <li><a href="#">Satın Alma</a></li>
            <li><a href="#">Kariye</a></li>
            <li><a href="#">Bayilik Başvurusu</a></li>

          </ul>
        </div>
      </li>

      <li class="menu_item droped">
        <a class="top_link" href="#/">Ürünlerimiz</a>

        <div class="dropdown">
          <ul>
            <li><a href="#">İnce Taneli Kumlar</a></li>
            <li><a href="#">İri Taneli Kumlar</a></li>
            <li><a href="#">Yalıtım Malzemeleri</a></li>
            <li class="last"><a href="#">Yapı Kimyasalları</a></li>
          </ul>
        </div>

      </li>
</ul>
如何将其添加到wp\\U nav\\U菜单功能中?是否在函数中添加过滤器。php,还是我要创建一个单独的php文件来实现这一点?

如有任何有益的建议,将不胜感激。

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

根据您的描述,听起来您可能需要为wp_nav_menu 呼叫要创建修改下拉列表包装的自定义walker,请从以下类开始:

<?php

class wpse_112127_walker extends Walker_Nav_Menu {

    function start_lvl( &$output, $depth ) {
        $indent = str_repeat("\\t", $depth);
        $output .= "\\n" . $indent . \'<div class="dropdown"><ul>\' . "\\n";
    }

    function end_lvl( &$output, $depth = 0, $args = array() ) {
        $indent = str_repeat("\\t", $depth);
        $output .= "$indent</ul></div>\\n";
    }
}
然后,用你的助行器wp_nav_menu 电话:

wp_nav_menu( array( \'walker\' => new wpse_112127_walker ) );
希望这段代码能够帮助您开始为您的用例使用自定义walker。如果您有任何困难/问题,请告诉我!

结束

相关推荐

Wordpress Remove Submenus

我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&