WordPress – zusätzliche Navigation über Child-Theme

wordpress-navi-2

Heute hatte ich eine kleine Aufgabe, die dann doch sehr lange in der Umsetzung benötigt hat.

Wie im letzten Blogbeitrag wollte ich eine Navigation zum Childtheme hinzufügen, nur mit dem Unterschied, dass diesmal schon eine Navigation im eigentlichen Theme enthalten war.

Nicht funktioniert hat das Überschreiben der Funktion durch die functions.php vom Child-Theme. Diese wird, anders als bei der style.css, erst geladen und dann die functions.php vom Theme.

Die Lösung sieht so aus:

// Funktion zum entfernen der 'register_nav_menus' Function
function remove_register_nav_menus() {
    remove_action( 'baylys_setup', 'register_nav_menus' );
}

// Aufruf der 'remove_register_nav_menus' (oben) nach der WordPress Initialisierung
add_action('after_setup_theme','remove_register_nav_menus');

// Aufruf der Registrierung für das neue Menü
add_action( 'baylys_setup', 'register_nav_menus' );

register_nav_menus( array(
    'primary' => __( 'Primary Navigation', 'baylys' ),
    'second' => __('Second Navigation', 'baylys'),
    'optional' => __( 'Footer Navigation (no sub menus supported)', 'baylys' )
) );

Erst nachdem das Setup vom Theme komplett durchgeführt wurde, wird die Navigation entfernt. Anschließend erfolgt das neue Hinzufügen der Navigationen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.