WordPress Menü in Seite einfügen

Wenn man individuelle Sidebars bzw. Widgets auf Seiten oder Artikeln einbinden will, kommt man mit dem Plugin Widget Logic schon ganz gut hin – ab einer bestimmten Seitengröße wird es aber zu unübersichtlich und die Conditional Tags mit Widget Logic nehmen überhand.

Daher habe ich nach einer Möglichkeit gesucht Menüs (Custom Menus) direkt in eine Seite einzubinden und siehe da – mittels Shortcode gibt es eine schnelle Lösung dafür.

Wordpress Menü in Seite einfügen

WordPress Menü in Seite einfügen > via sillybean.net

function print_menu_shortcode($atts, $content = null) {
    extract(shortcode_atts(array( 'name' => null, ), $atts));
    return wp_nav_menu( array( 'menu' => $name, 'echo' => false ) );
}
add_shortcode('menu', 'print_menu_shortcode');

Hier noch die Kurzanleitung auf Deutsch:

man kopiert den Code von der Seite aus dem Link above und fügt diesen in die functions.php ein.

Zu beachten ist natürlich, falls man Twenty Ten verwendet, oder auch ein anderes Theme, dass man am besten mit einem Child Theme arbeitet, sonst sind die Codezeilen ggf. nach dem nächsten Updaten pfutsch.

Hat man dies getan, dann braucht man nur noch den Shortcode [menu name="Hauptmenue"] einfügen – et voilá schon hat man das gewünschte Menü in den Artikel oder die Seite eingefügt.

Eine einfache Lösung, die Spass macht. „Hauptmenue“ ersetzt man natürlich durch sein eigenes Menü, somit kann man ohne viel Arbeit Menüs bzw. interne Links via Shortcode einfügen.


Zuerst erschienen 24. März 2011. Zuletzt aktualisiert

  1. Hallo,
    ich schaue mich gerade um, was das WP-Menü angeht. Eine Frage: ich habe keine Möglichkeit gefunden, Artikel einzubinden. Nur Seiten und Kategorien. Übersehe ich etwas? Danke!

    • @Vitali Ja, Post können nur manuell eingefügt werden -> via Links + URL – es lassen sich nur Seiten und Kategorien per Drag n Drop rüberschieben.

  2. Hallo, Danke für die Beschreibung und Übersetzung. Deine Beschreibung ist für mich als WP-Neuling insofern unverständlich, als dass ich nicht verstehe in welche Datei ich „[menu name=“Hauptmenue“]“ hineinkopieren soll. Auch in die functions.php des themes unterhalb der hinkopierten function?

  3. Hallo, also „[menu name=“Hauptmenue“]“ ist der Shortcode, der in den Post / die Seite eingefügt wird. Ich hatte bspw. unter Menü (im WP Backend) ein „Hauptmenue“ angelegt mit div. Links – nun braucht man nur noch [menu name=“Hauptmenue“] in einen Beitrag einfügen und die Liste (das Menü) erscheint im Post…

  4. Hallo,

    egal wo ich den Code in die functions.php einfüge, die Webseite geht dann nicht mehr. Was und wo muss ich tun, damit das richtig läuft?

  5. Der Code von der verlinkten Seite oben mit „…function print_menu_shortcode…“ funktioniert.

  6. Tja, geht heute wohl nicht mehr… zu spät… 10 Jahre…

    Tikoim.de
    Logo
    Produkte vergleichen
    • Testergebnis (0)
    Vergleichen
    0