Add a second menu to WordPress

Add a second menu to WordPress

WordPress 3.0 and above introduced the menu editor, which gave users a means to customize the automatically generated menu. Whilst this kind of functionality brings WP closer to being a full content management system, the framework is still far off from that point. Here, we’ll look at extending the menu system by adding a second editable menu into the default WordPress template, Twenty Twelve.

Note: If you are using twenty twelve for this exercise, you’ll need to create a child theme to prevent any updates to the template overwriting our modifications.

1. In your theme’s functions.php file, place the code below, you’ll need to change header-menu and Header Menu to something else, e.g. footer-menu and Footer Menu

function register_my_menus() {
    array( 'header-menu' => __( 'Header Menu' ) )
add_action( 'init', 'register_my_menus' );

2. Next you need to add some PHP code into your theme’s template, where you want the menu to appear, as follows:

<?php wp_nav_menu( array( 'theme_location' => 'footer-menu', 'container_class' => 'footer-styling-class' ) ); ?>

The container class adds a class to our new menu so we can target it with CSS styles

Oliver Partridge

Building websites since 2000, I have a wealth of experience in eMarketing, SEO, e-mail marketing and social media marketing. Google+ and Twitter

Leave a Reply

  • Google Adwords Campaigns in Berkhamsted

    Website Design & Development

    We can setup and manage your Google Adwords account working with you to develop your keywords and ad variations. We ensure that the Adwords budget

  • WordPress category in body class

    Website Design & Development Wordpress

    Either add the following into your header.php: <body class="<?php foreach((get_the_category()) as $cat) { echo $cat->category_nicename; } ?> Or add the following into your theme functions.php:

  • magpierss content:encoded

    Website Design & Development

    For those that are using MagpieRSS to parse your WordPress blog feed onto non-wordpress pages, as described here and you come across the situation where