
To do this, we’ll go to header.php and add the following:
<!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo('charset'); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php wp_title(); ?></title> <?php wp_head(); ?> </head> <nav class="navbar navbar-expand-lg navbar-light bg-light mb-4"> <div class="container"> <a class="navbar-brand" href="<?php echo home_url(); ?>"><?php bloginfo('name'); ?></a> <?php wp_nav_menu(array( 'theme_location' => 'main-menu', 'menu_class' => 'navbar-nav ml-auto', 'container' => false, )); ?> </div> </nav> <body <?php body_class(); ?>>
We have created the menu called main-menu:
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4"> <div class="container"> <a class="navbar-brand" href="<?php echo home_url(); ?>"><?php bloginfo('name'); ?></a> <?php wp_nav_menu(array( 'theme_location' => 'main-menu', 'menu_class' => 'navbar-nav ml-auto', 'container' => false, )); ?> </div> </nav>
And it will also allow us to customize it from WordPress itself.
Now let’s add the action that will allow us to customize it. Let’s go to functions.php and add:
function register_menus() { register_nav_menu('main-menu', 'Main Menu'); } add_action('after_setup_theme', 'register_menus');
And now, we’ll be able to customize our menu:

We can enhance the menu design with CSS

