10

私はすでにwp上に構築されているサイトのwpテーマに取り組んでおり、wpadminで2つのメニューに分割された非常に大きなメニューを持っています。

この2つのメニューを1つのULのテーマにマージしたいと思います。現在、異なるdivコンテナとul liに2つのメニューが生成され、適用されているスタイルとjsが壊れています。

この2つのメニューを単一のコンテナ内の単一のulliにマージするにはどうすればよいですか?

4

3 に答える 3

21

わかりました。wp_nav_menu()を使用している場合

次のようなものを使用してみてください

<ul id="MyMenu">
  <?php wp_nav_menu( array('menu' => 'FirstMenu', 'items_wrap' => '%3$s' ) ); ?>
  <?php wp_nav_menu( array('menu' => 'SecondMenu', 'items_wrap' => '%3$s' ) ); ?>
</ul>

items_wrapを使用すると、各メニューからulが削除されるため、メニューを定義済みのulタグにカプセル化すると、wp_nav_menuはliタグのみを吐き出します。

ulラップの削除を参照してください:http://codex.wordpress.org/Function_Reference/wp_nav_menu

M

于 2012-04-27T09:20:26.620 に答える
14

問題は、各wp_nav_menuがまだ個々のdivにラップされていることです。次のように、それぞれに「'container' => false」を追加して、これらのdivもオフにする必要があります。

<ul id="MyMenu">
  <?php wp_nav_menu( array('menu' => 'FirstMenu', 'items_wrap' => '%3$s', 'container' => false ) ); ?>
  <?php wp_nav_menu( array('menu' => 'SecondMenu', 'items_wrap' => '%3$s', 'container' => false ) ); ?>
</ul>
于 2013-01-08T16:07:18.837 に答える
4

これらをこの方法と組み合わせることができます。WPによって生成されたメニュークラスの一部を保持します。

// two WordPress menus combined into one.
// first menu.
$menu = wp_nav_menu( array(
    'theme_location'=> 'secondary', // or whatever location
    'fallback_cb'   => false,
    'container'     => '',
    'items_wrap' => '%3$s',
    'echo' => false
) );
// include all of the menu items from the first inside the second menu.
wp_nav_menu( array(
    'theme_location' => 'primary', // or whatever location
    'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s ' . $menu . '</ul>',
) );
于 2016-11-07T23:54:24.510 に答える