見出し画像

カスタムメニューがある時、ない時の判別【WordPress】

※自分用の備忘録です

カスタムメニューが設定されている時にはハンバーガーメニューを表示し、設定されていないときはハンバーガーメニューを非表示にする方法です。

コードの全容

          <!-- メニューがある時 -->
          <?php if (has_nav_menu('header-menu')) : ?>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
            </button>

            <!-- カスタムメニュー -->
            <?php wp_nav_menu(array(
              'theme_location' => 'header-menu',
              'container' => 'div',
              'container_id' => 'navbarSupportedContent',
              'container_class' => 'collapse navbar-collapse',
              'menu_class' => 'navbar-nav me-auto mb-2 mb-lg-0',
              'fallback_cb' => ''
            )); ?>
            <!-- メニューがない時 -->
          <?php else : ?>

          <?php endif; ?>

「has_nav_menu」で有無を判別

「has_nav_menu」というWordPressタグを使いfunctions.phpで設定したカスタムメニュー名と同じものが設定されているかを判別します。

if文で分岐を作る

if文を使い、カスタムメニューがある時にはハンバーガーメニューやカスタムメニュー自体表示するように設定し、elseには特に何も記述をしないことで非表示にします。


その他のWordPressに関する記事はこちらから


この記事が気に入ったらサポートをしてみませんか?