I like to use the Starkers Theme and build child-theme.

So, I`d like to remove the this primary menu

Starkers (functions.php)

function starkers_setup() {
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'starkers' ),
) );


My child-theme functions.php looks like this:

unregister_nav_menu( array(
'primary' => __( 'Primary Navigation', 'starkers' ),

// my new nav
'primary_navigation' => __('Main', 'starkers'),
'utility_navigation' => __('Meta', 'starkers')

But it doesn´t work for me.

What´s wrong?

3 Answers 3


The Starkers theme setup is hooked to after_setup_theme, at a priority of 10. So you basically have to wrap the unregister function inside another function (child themes functions.php file) and add it later than the parent themes setup function, so it gets first added by the parent and later on removed by the child.

function wpse_remove_parent_theme_locations()
    // @link http://codex.wordpress.org/Function_Reference/unregister_nav_menu
    unregister_nav_menu( 'primary' );
add_action( 'after_setup_theme', 'wpse_remove_parent_theme_locations', 20 );

This should definitely work for you, I just checked out

add_action( 'after_setup_theme', 'remove_default_menu', 11 );
function remove_default_menu(){
  • Check the edited code, this should work.
    – IFightCode
    Apr 22, 2012 at 17:07

The other solutions didn't work for me.

This one worked:

function remove_parent_theme_locations()
    unregister_nav_menu( 'primary' );
add_action( 'init', 'remove_parent_theme_locations', 20 );
  • The point being it needed to be on the init hook instead? That might vary depending on your theme, and I'd guess this means your theme has hooked init to register the menu rather than after_setup_theme which is usual.
    – Rup
    Nov 22, 2020 at 1:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.