Как добавить свою форму в меню wordpress?

Есть верхнее навигационное меню
<?php
	wp_nav_menu( array(
		'theme_location'  => 'nav_top',
		'container'       => 'nav',
		'menu_class'      => '',
		'items_wrap'      => '<ul>%3$s</ul>'
	));
?>


Меню выглядит так:
Главная
Раздел1
Раздел2
..
Раздел10

я хочу добавить поиск по сайту, после Главная
Форма поиска выглядит так:
<form role="search" method="get" class="flex" action="form.php" >
  <input type="search" class="search_field_menu" placeholder="Поиск по сайту" required autocomplete="off" value="" />
  <button type="submit" class="search_submit_menu" value="найти"></button>
</form>

Как правильно добавить форму в меню?
Как вариант вижу создание страницы, поместить туда эту форму, ну и подключить страницу к меню.

Сейчас сделано так:
- Ссылка на главную
- Форма поиска
- <nav>Раздел1 .. Раздел10</nav>
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ItsCoder
Ознакомьтесь с классом Walker.
Дублируете класс, изменив название (естественно отдельным файлом в теме, подключаете к functions.php). Манипулируете им как нужно в зависимости от ваших задач и указываете в функции вывода:
wp_nav_menu( array(
    'theme_location'  => 'nav_top',
    'container'            => 'nav',
    'menu_class'        => '',
    'items_wrap'        => '<ul>%3$s</ul>',
    'walker'          => 'Example_Walker'
  ));
Ответ написан
whillson
@whillson
помогу, чем смогу ^_^
Создайте контейнер, в нем ссылку на главную, после форму поиска а затем уже меню.

<div class="container">
  <a href="/" class="home">Главная</a>
  <div class="form-box">
    <form role="search" method="get" class="flex" action="form.php" >
      <input type="search" class="search_field_menu" placeholder="Поиск по сайту" required autocomplete="off" value="" />
      <button type="submit" class="search_submit_menu" value="найти"></button>
    </form>
  </div>
  <?php
    wp_nav_menu( array(
      'theme_location'  => 'nav_top',
      'container'       => 'nav',
      'menu_class'      => '',
      'items_wrap'      => '<ul>%3$s</ul>'
    ));
  ?>
</div>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы