Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

WordPress WordPress Theme Development Building Out WordPress Navigation The wp_nav_menu Function

Manage locations tab not showing up

After adding in the register_theme_menus() function and setting the add_action as in the video I am not getting the Manage Locations tab upon refresh. From what I can see my code is identical, of course I hope I am not overlooking anything.

<?php

add_theme_support( 'menus' );

function register_theme_menus() {

    register_nav_menus() {
        array(
            'primary-menu' => __( 'Primary Menu' )
        )
    };

}
add_action( 'init', 'register_theme_menus' );

function wpt_theme_styles() {

    wp_enqueue_style( 'foundation_css', get_template_directory_uri() . '/css/foundation.css' );
    //wp_enqueue_style( 'normalize_css', get_template_directory_uri() . '/css/normalize.css' );
    wp_enqueue_style( 'google_css', 'http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' );
    wp_enqueue_style( 'main_css', get_template_directory_uri() . '/style.css' );

}
add_action( 'wp_enqueue_scripts', 'wpt_theme_styles');

function wpt_theme_js() {

    wp_enqueue_script( 'modernizr_js' , get_template_directory_uri() . '/js/modernizr.js' , '', '', false);
    wp_enqueue_script( 'foundation_js' , get_template_directory_uri() . '/js/foundation.min.js' , array('jquery'), '', true);
    wp_enqueue_script( 'main_js' , get_template_directory_uri() . '/js/app.js' , array('jquery', 'foundation_js'), '',  true);

}
add_action ( 'wp_enqueue_scripts', 'wpt_theme_js');




?>

Any help is appreciated...Thanks.

S Ananda
S Ananda
9,474 Points

Having the same problem. Surprised nobody has answered your question in a whole month. I don't see any errors in your code or mine (mine looks just like yours). Did you figure out the fix? Or does anybody out there have the answer for us?

S Ananda
S Ananda
9,474 Points

I finally figured it out. In the register_nav_menu section you do not use curly braces and the array is within the regular ().

So, instead of register_nav_menus() { array( 'primary-menu' => __( 'Primary Menu' ) ) };

it should be register_nav_menus( array( 'primary-menu' => __( 'Primary Menu' ) ) ); Notice that the array is a parameter, not a part of a function. Took me forever to realize that.

1 Answer

Alexey Serpuhovitov
Alexey Serpuhovitov
6,931 Points

No, just use

register_nav_menu

instead of _

register_nav_menus