Поддержка пользовательских меню

Функция навигации по меню, введенная в WordPress 3.0, позволяет интуитивное создание и поддержание навигационных меню в темах.
По крайней мере, стандартной теме понадобится главное меню навигации, возможно, в заголовке и дополнительное меню навигации в футере. Чтобы это сделать, мы зарегистрируем эти два меню “Главное меню” и “Вспомогательное меню”.
Хотя это не особенно новая функция, но все же хорошо обернуть if function_exists () в случае, если пользователь застрял в предварительной установке 3.0:
В файле functions.php, включите следующее:
 if ( function_exists( 'register_nav_menus' ) ) {
	register_nav_menus(
		array(
		  'main_menu' => __( 'Main Menu', 'cake' ),
		  'secondary_menu' => __( 'Secondary Menu', 'cake' ),
		)
	);
}

Теперь, когда меню зарегистрированы, мы должны “сказать” теме, куда их выводить. Мы хотим, чтоб наше Главное меню (Main Menu) появлялось в нашем заголовке. Для этого, в header.php файле, мы включаем следующий код:
<?php if ( has_nav_menu( 'main_menu' ) ) { ?>
	<?php $defaults = array(
	  'theme_location'  => 'main_menu',
	  'menu'            => '',
	  'container'       => false,
	  'echo'            => true,
	  'fallback_cb'     => false,
	  'items_wrap'      => '<ul id="%1$s"> %3$s</ul>',
	  'depth'           => 0 );
	  wp_nav_menu( $defaults );
	?>
<?php } else { ?>
	<ul>
	  <?php wp_list_pages('title_li='); ?>
	</ul>
<?php } ?>

Во-первых, мы проверяем, если меню под названием “main_menu” было определено, если да, то тогда мы вставляем его содержимое здесь; в противном случае мы возвращаемся к по умолчанию wp_list_pages (), который мы можем более детально настроить для отображения ссылок. Если вы хотите еще ​​больше настроить меню, тогда смотрите WordPress Codex page on wp_nav_menu () функции.

Мы хотим, чтобы вспомогательное меню (secondary menu) появлялось в футере, для этого мы открываем footer.php и включаем следующий код:
<?php if ( has_nav_menu( 'secondary_menu' ) ) { ?>
	<?php $defaults = array(
	  'theme_location'  => 'secondary_menu',
	  'menu'            => '',
	  'container'       => false,
	  'echo'            => true,
	  'fallback_cb'     => false,
	  'items_wrap'      => '<ul id="%1$s"> %3$s</ul>',
	  'depth'           => 0 );
	  wp_nav_menu( $defaults );
	?>
<?php } else { ?>
	<ul>
	  <?php wp_list_pages('title_li='); ?>
	</ul>
<?php } ?>
Теги:
меню
Добавлено: 01 Мая 2018 18:25:35 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...