it-swarm.com.de

Heben Sie die Registrierung des Navigationsmenüs in Child-Theme auf

Ich verwende gerne das Starkers Theme und baue Child-Theme.

Also, ich möchte das Hauptmenü entfernen

Starkers (functions.php)

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


}
endif;

Meine child-theme functions.php sieht so aus:

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

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

Aber bei mir funktioniert es nicht.

Was ist falsch?
Vielen Dank

6
ogni

Das Starkers-Theme-Setup ist an after_setup_theme mit der Priorität 10 gebunden. Sie müssen die Unregister-Funktion also im Grunde genommen in eine andere Funktion (child themes functions.php-Datei) einbinden und später als die übergeordnete Themes-Setup-Funktion hinzufügen, damit sie zuerst vom übergeordneten Element hinzugefügt und später vom untergeordneten Element entfernt wird .

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 );
8
kaiser

Dies sollte auf jeden Fall für Sie arbeiten, ich habe gerade ausgecheckt

add_action( 'after_setup_theme', 'remove_default_menu', 11 );
function remove_default_menu(){
unregister_nav_menu('primary');
}
1
IFightCode