Vorhin habe ich die Frage eines Lesers bekommen:
Ich nutze das Twenty Ten Theme und würde gerne auf einer bestimmten Page, die Navigation ausblenden. Was muss ich machen?
Bei Twenty Ten ist die Vorgehensweise einfach und es gibt mehrere Methoden.
Quick & Dirty über CSS
Bei Twenty Ten kommt body_class();
zum Einsatz so das jede Unterseite eine extra Wert für das Klassenattribut hat. Somit könnte man mit …
.page-id-xyz .menu {display: none;}
… auf der entsprechenden Unterseite das Menü einfach ausblenden. Der Wert xyz
wird durch die ID der jeweiligen Seite ersetzt.
Änderungen in der header.php
Wem die Anpassung in der CSS-Datei nicht gefällt könnte den Template-Tag in einen Conditional Comment packen:
<?php
if (!is_page(xyz)) {
wp_nav_menu(...);
}
?>
Bleibt es lediglich bei der einen Änderung kann man auch die an den originalen Template-Datei die Änderung durchführen. Möchte man auch weitere Änderungen an einem Theme durchführen, bei dem man nicht der Entwickler ist, dann wäre es überlegenswert, das man ein Child-Theme erstellt … damit nicht beim jeden Theme-Update, die Änderungen verschwinden.
Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienstleistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.
Was spricht dagegen, ein zweites Seitentemplate anzulegen auf dem die Menü-Area für dieses Menü fehlt? Dann kann man bequem im Backend auswählen: “Hat Menü” oder “Hat kein Menü” ?
Viele Grüße aus dem Büro 71a
Rico
Hallo Herr Simovic,
herzlichen Dank für den Super-Tipp! Und so einfach umzusetzen. Ist genau das, was ich schon lange gesucht habe. Ich denke, ich werde gleich mal die Quick & Dirty-Version ausprobieren.
Viele Grüße aus dem Hohen Norden nach Köln
Detlef Krause
[…] Hauptnavi auf bestimmten Unterseiten ausblenden […]
Weitere Variante ist, ein neues Attributsfeld anzulegen (z.B.: menu -> no)
und dann einfach die menüabfrage mit einer PHP if-Abfrage verhindern
(if attribute-menu !empty, dann kein menü)
Hat den Vorteil dass so jeder Benutzer entscheiden kann, ob es nun ein Menü gibt oder nicht
Sonst müsste man die Abfrage bei jeder neuen Seite erweitertn