Tutorials
Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.
Zurück zur Übersicht
Menüs auf Seiten/Pages ausgeben mit Shortcode in Wordpress
#Tutorials#Wordpress
Ich wollte eine Sitemap meiner Webseite haben, die einfach alle Punkte auf einmal aus meinem selbst erstellten Hauptmenü ausgibt. Das musste natürlich auf einer Seite/Page sein und so habe ich mich umgeguckt und eine Funktion gefunden, die genau das bewerkstelligt. Die Funktion findet ihr unten. Fügt einfach den Code in eure function.php ein und schon habt ihr alles installiert was ihr braucht. Danach einfach [menu name="Name eures Menüs"] in eure Seite/page einfügen und schon kommt das gewünschte Menü an der Stelle heraus.
<?php
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');
?>
Kommentare
vielen Dank, das Script hat auf jeden Fall auf meiner Seite funktioniert. Leider nutze ich jedoch ein gekauftes Theme (BeTheme), und jedenfalls funktionierte nach Einfügen des Snippets in der functions.php das gesamte WP Dashboard nicht mehr...Die Seite hingegen funktionierte einwandfrei, samt Menu call.
Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at
/xxx/wp-content/themes/betheme/functions.php:130)
in /xxx/wp-includes/pluggable.php on line 1179
Ich habe die Datei über den WP eigenen Editor bearbeitet, und das Gefühl, dass alleine bereits darin eine mögliche Fehlerquelle liegt. Oder habe ich eventuell nur eine falsche Syntax benutzt? Normalerweise müsste das Snippet doch einfach innerhalb des bestehenden Funktionenbereichs (?php bis ?> ) eingefügt werden, getrennt durch }, oder tatsächlich komplett, so wie oben dargestellt?
Besten Dank!!! Toll, dass es solche Seiten wie diese hier gibt!
es kann einfach an dem Theme liegen. Vielleicht musst du das Skript an eine andere Stelle in der functions.php packen?
Grüße
André
Hinterlasse einen Kommentar