SOFT
SPRINT

softsprint.net Shop

Создание произвольного меню в теме WordPress – часть 6

В этой статье рассмотрим важную для любого сайта на WordPress задачу – формирование произвольного меню. На примере нашей темы Lightweight создание произвольного меню выполнено в 2 приёма:

1) В файл functions.php помещаем такой код:

<?php
register_nav_menus(array(
	'top'    => 'Верхнее меню'
));
?>

2) В файл header.php помещаем такой код:

<?php 
			wp_nav_menu( array(
			'menu_class'=>'menu',
			'theme_location'=>'top',
			'container'=>''
			) );
		?>

После чего в админ-панели создаём новое меню с любым названием (например, MenuTop) и привязываем его к области темы. В данном случае область темы – «Верхнее меню», что указано в пункте 1 (пример на скриншоте ниже).
В результате WordPress сгенерирует ненумерованный список следующего вида:

<ul><li></li></ul>


Теперь рассмотрим подробнее пункты 1 и 2.

Функция register_nav_menus (прописываем её в файле functions.php) регистрирует несколько меню одновременно. В нашей теме зарегистрировано только одно меню под названием top.
Для вывода в шапке сайта этого меню top применяем функцию wp_nav_menu (прописываем её в файле header.php). Присваиваем параметру “theme_location” значение top . В нашем примере выглядит так: ‘theme_location’=>’top’.

Т.е., название top должно быть указано в обеих функциях (register_nav_menus и wp_nav_menu) и является их связкой.

Также следует отметить, что выводить произвольное меню с помощью функции wp_nav_menu Вы можете в любой области сайта – не обязательно в шапке (файл header.php). Это может быть подвал или боковая панель, тогда вставляйте функцию wp_nav_menu в файл footer.php или sidebar.php соответственно.

Кроме того, в функции wp_nav_menu мы определили:

  • ‘menu_class’=>’menu’ – название класса меню, которое будет присвоено тегу
  • ‘container’=>’ ‘ – чем оборачивать ul тег. Допустимо: div или nav. В нашем случае в кавычках ничего не указано, значит, ничем не оборачиваем

Также могут задаваться такие параметры:

  'container_class' => - class у контейнера меню
  'container_id'    => - id у контейнера меню
  'menu_class'      => - class у тега ul 
  'menu_id'         => - id у тега ul
  'before'          => - текст перед тегом <a> в меню
  'after'           => - текст после каждого тега </a> в меню
  'link_before'     => - текст перед анкором каждой ссылки в меню
  'link_after'      => - текст после анкора каждой ссылки в меню
  'depth'           => - уровень вложенности меню (по умолчанию 0 – без ограничений)

Произвольное меню в WordPress – это мега-удобная вещь! Не забывайте, что у нас Вы можете также заказать изготовление темы WordPress – обращайтесь!

CONTACT US
Cookies | Privacy Policy | Terms and ConditionsSoftSprint ©