サポート » 使い方全般 » カスタムメニューでドロップダウンリストができない

  • 解決済 sgdjd8

    (@sgdjd8)


    現在、ナビゲーションはシンプルな親のみの6つのボタンで動いているのですが、そこにドロップダウンリストで子となるメニューを階層をつけたくて、参考サイトをいろいろ見ながらやってみたのですが、階層表示がされません。
    現在は、下記のように記述されています。
    ワードプレス側では、「外観」→「メニュー」で、階層をつけて子を設定し、「副項目」と表示されています。
    「位置の管理」も「mainnavi」と紐付けています。
    参考サイトで見た
    <?php wp_nav_menu(array(‘theme_location’ => ‘nav’)); ?>
    ・・・というのを【header.php】に記載してみたりしたのですが、うまくいきません。
    【header.php】には、子がない場合の記述になっているようなので、ここの書き換え方をご教授いただければありがたいです。
    ちなみに、もともとのオリジナルテンプレートは、自作ではなく、
    どう書いたら良いのかわかりません。
    【functions.php】
    register_nav_menu(‘mainnavi’, ‘メインナビ’);

    【header.php】
    <nav id=”siteNav”>
    <div class=”container”>
    <ul class=”clearfix”>
    <?php $navItems = wp_get_nav_menu_items(‘mainnavi’); ?>
    <?php foreach ($navItems as $navItem): ?>
    <li>
    <?php if($navItem->post_excerpt === $bodyClass):?>
    <?php echo $navItem->title; ?>

    <?php else:?>
    <a>url; ?>”><?php echo $navItem->title; ?></a>
    <?php endif; ?>
    </li>
    <?php endforeach; ?>
    <ul>
    </div>
    </nav>

    • このトピックはsgdjd8が7年、 6ヶ月前に変更しました。
    • このトピックは7年、 6ヶ月前にodysseyが編集しました。理由: 数値実体参照変換漏れを修正
    • このトピックはodysseyが7年、 6ヶ月前に変更しました。
    • このトピックはodysseyが7年、 6ヶ月前に変更しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • register_nav_menuで設定したパラメータと、wp_nav_menuのtheme_locationのパラメータが一致していないと正しく出力されません。
    今回の場合はどちらにも‘mainnavi’を設定します。

    【functions.php】
    register_nav_menu(‘mainnavi’, ‘メインナビ’);

    【header.php】
    <?php wp_nav_menu(array(‘theme_location’ => ‘mainnavi’)); ?>

    ナビゲーションのリストを<nav>で囲んでidを付けたいのであれば、
    <?php wp_nav_menu( array(
    ‘container’ => ‘nav’,
    ‘container_id’ => ‘sitenav’,
    ‘theme_location’ => ‘mainnavi’
    )); ?>
    のように記述します。
    詳しくはhttps://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_nav_menu

    あとはドロップダウンになるようcssを調整してください。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタムメニューでドロップダウンリストができない」には新たに返信することはできません。