Servervoice

Das Technik und IT Magazin

Portable Programme

Custom Menu Funktion in WordPress Theme einbauen

» Geschrieben von Andi am 22. Jun. 2011 Veröffentlicht in Wordpress

Viele haben sich bestimmt schon vor längerer Zeit ein WordPress Template für ihre Webseite geholt und diese an die eigenen Gegebenheiten angepasst. Diese älteren Templates unterstützen daher dann meistens nicht die Custom Menu Funktion welche mit WordPress 3 neu dazu kam. Wenn man diese aber gerne doch in seinem Template nutzen würde kann man diese ganz einfach nachträglich hinzufügen. Dazu sind gerade mal zwei Arbeitsschritte notwendig.

Zunächst öffnen wir die functions.php Datei unseres Themes und fürgen folgende Codezeilen ein:

1
2
3
4
5
6
7
<?php
add_action('init', 'register_main_menu');
 
function register_main_menu() {
register_nav_menu('main_menu', __('Main Menu'));
}
?>

Anschließend müssen wir im Template noch bestimmen an welcher Stelle das neue Custom Menu erscheinen soll. Hier schauen wir in welcher Datei zurzeit das Menu eingebunden wird, meistens wird dies in der header.php sein. Anstelle des früheren Codes für das alte Menu bindet ihr folgenden Code ein:

<?php wp_nav_menu(array('menu' => 'main_menu')); ?>

Und das war auch schon alles jetzt kann die Costuom Menu Funktion auch in dem alten Template genutzt werden wie man es von neueren Templates kennt.

Sollten noch irgendwelche Fragen bestehen stellt diese einfach in den Kommentaren.

User Kommentare

  1. Andreas | 7. Februar 2012 um 9:16 Uhr

    Danke für die Anleitung. Klappt auch soweit ganz gut. Nur wird das Menü leider ganz oben mit allen Menüpunkten untereinander angezeigt. Ich hätte es gerne alles nebeneinander. Hast Du da eine Idee? Danke, Andreas!

  2. Andi | 7. Februar 2012 um 17:41 Uhr

    Hier musst du höchst wahrscheinlich die Styles (CSS) bei dir anpassen.

  3. Christoph | 13. April 2012 um 17:50 Uhr

    Danke für den Tipp, allerdings will es bei mir im Blog nicht so recht funktionieren! Bekomme immer einen Error, wenn ich den Code in den Header einbaue! Idee?

  4. Andi | 13. April 2012 um 22:05 Uhr

    Hallo Christoph,

    was für ein Fehler wird denn ausgegeben? Denn allgemein kann ich es leider auch nicht sagen. Wurde das Menu in dem Template vielleicht irgendwie speziell eingebunden?

  5. Franz | 19. August 2012 um 19:56 Uhr

    Schöner Artikel und schnell auf den Punkt gebracht. Hab nur eine Frage: Wie müsste der Code aussehen wenn ich noch ein zweites oder drittes Costum Menü will?

  6. Andi | 20. August 2012 um 17:13 Uhr

    @Franz in dem Bereich register_nav_menus musst du dann ein Array einfügen das z. B. wie folgt aussieht.
    array(
    ‘main-menu’ => __( ‘Main Menu’ ),
    ‘second-menu’ => __( ‘Second Menu’ )
    )
    Die Integration der Menus ist dann gleich wie oben beschrieben es muss nur jeweils der Name angepasst werden.

  7. Franz | 20. August 2012 um 17:44 Uhr

    Hi Andi,

    danke für deine Antwort, ich weiß nur grad nicht mehr so recht wofür ich den Code Schnipsel mal gebraucht habe ;)

  8. David | 16. April 2013 um 0:15 Uhr

    Danke für die Info, aber leider wird bei mir im Admin-Panel immernoch nicht der Menüpunkt “Menüs” unter “Design” angezeigt.

Kommentare

Vorschau des Kommentars