Wordpress. Создание темы. Вывод меню в шаблоне

Главная » Видеоуроки » CMS » WordPress. Создание темы. Вывод меню в шаблоне
На прошлом уроке мы создали структуру файлов и подключили css и js файлы для нашей темы на WordPress. Сегодня мы рассмотрим возможность поддержки и вывода меню в теме.
Если вы входили в панель администратора после прошлого урока, то заметили, что у вас не был возможности добавить меню. Работа с меню отсутствует вообще. В видеоуроке мы рассматриваем, как сделать поддержку меню в теме с помощью функции register_nav_menu() и его вывод в шаблоне с помощью функции wp_nav_menu().

Код урока (header.php)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
    <?php wp_head(); ?> 
</head>
<body>
    <header>
    	<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
      		<div class="container">
        		<a class="navbar-brand" href="#">Start Bootstrap</a>
	        	<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
	          		<span class="navbar-toggler-icon"></span>
	        	</button>
		        <div class="collapse navbar-collapse" id="navbarResponsive">
		        	<?php
		        		wp_nav_menu(
		        			array(
		        				'menu_id' 		=> '',
		        				'menu_class'	=> 'navbar-nav ml-auto',
		        				'container'		=> '',
		        				'items_wrap'	=> '<ul id="%1$s" class="%2$s">%3$s</ul>' 
		        			)
		        		)
		        	?>
		        </div>
      		</div>
    	</nav>
    </header>
    <div id="content">

Код урока (functions.php)

<?php

function loadScripts() {
    wp_enqueue_style( 'bootstrap-styles', get_template_directory_uri(). '/css/bootstrap.min.css' );
    wp_enqueue_style( 'main-theme-style', get_stylesheet_uri() );
    wp_enqueue_script( 'bsscript', get_template_directory_uri() . '/js/bootstrap.bundle.min.js', array( 'jquery' ), '20150330', true );
}

function changeMenuItemsClass($class) {
	$classes[] = "nav-item";
	return $classes;
}

function addLinkClass($attrs) {
	$attrs['class'] = 'nav-link';
	return $attrs;
}

add_action('wp_enqueue_scripts', 'loadScripts');

add_filter('nav_menu_css_class', 'changeMenuItemsClass');

add_filter('nav_menu_link_attributes', 'addLinkClass');

register_nav_menu("main-menu", "Главное меню");

0 Комментариев

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Pin It on Pinterest

Share This