• カスタムメニューをカスタマイズしたいのですが、フォーラムを参考に
    http://ja.forums.wordpress.org/topic/6150?replies=3
    設置したところjavascriptをカスタマイズしている為、孫メニューのdivをなくしたいと考えています。

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

    functions.phpに下記のように設置したところ子・孫とdivがラップられるので、子のみにラップしたいと思います。

    class My_Walker_Nav_Menu extends Walker_Nav_Menu {
      function start_lvl( &$output, $depth ) {
        $indent = str_repeat("\t", $depth);
        $output .= "\n$indent<div><ul class=\"sub-menu\">\n";  // ☆
      }
      function end_lvl( &$output, $depth ) {
        $indent = str_repeat("\t", $depth);
        $output .= "$indent</ul></div>\n";  // ☆
      }
    }
    add_filter( 'wp_nav_menu_args', 'my_nav_menu_args' );
    function my_nav_menu_args( $args ) {
      $args = (object) $args;
      $args->walker = new My_Walker_Nav_Menu;
      return $args;
    }

    以上よろしくお願いします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 yamayama

    (@yamayama)

    class My_Walker_Nav_Menu extends Walker_Nav_Menu {
      function start_lvl( &$output, $depth ) {
        $indent = str_repeat("\t", $depth);
                if( $depth == 0) {
        $output .= "\n$indent<div class=\"sub\">\n";
                }
                if( $depth == 1) {
        $output .= "\n$indent<div class=\"sub2\">\n";
                }
      }
      function end_lvl( &$output, $depth ) {
        $indent = str_repeat("\t", $depth);
    
                if( $depth == 0) {
        $output .= "$indent</div>\n";
                }
                if( $depth == 1) {
        $output .= "$indent</div>\n";
                }
    	}
    }

    すいません。自己解決しました。よく読むと「kzさん」の記事に書いてありました。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタムメニューのカスタマイズ」には新たに返信することはできません。