Jak stworzyć responsywne menu w WordPress

Oto przykład responsywnego menu w WordPress. W pliku header.php umieszczamy kod odpowiedzialny za wyświetlenie elementów naszego menu:

<nav id="site-navigation" class="main-navigation">
  <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false">Menu</button>
  <?php
  wp_nav_menu( array(
    'theme_location' => 'menu-1',
    'menu_id'        => 'primary-menu',
    'menu_class'     => 'menu',
    'container'      => '',
  ) );
  ?>
</nav>

Następnie musimy go ostylować w CSS

.menu-toggle {
  display: none;
  cursor: pointer;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1.2em;
  color: #333;
}

.main-navigation .menu {
  display: flex;
  list-style: none;
  margin: 0;
}

.main-navigation .menu > li {
  margin-left: 20px;
}

.main-navigation .menu > li > a {
  color: #333;
  text-decoration: none;
}

.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus {
  color: #0074d9;
}

@media (max-width: 768px) {
  .main-navigation {
    display: block;
  }

  .main-navigation .menu {
    display: none;
  }

  .menu-toggle {
    display: block;
  }
}

W powyższym przykładzie menu jest tworzone za pomocą funkcji wp_nav_menu() i jest stylizowane za pomocą CSS jako elementy flex z odstępami między pozycjami menu. Menu jest również ukrywane na urządzeniach o szerokości ekranu poniżej 768px i wyświetlane jest przycisk menu toggle, który służy do wyświetlenia menu po kliknięciu. Aby przycisk menu wyświetlał nasze menu należy zakodować taką funkcjonalność za pomocą JsvaScript. Przykład znajdziesz w artykule Przykład jak za pomocą JavaScript wyświetlić menu po kliknięciu w przycisk toggle.

Podobne artykuły