WordPress & Webwork

WordPress: Navigation auf bestimmten Unterseiten ausblenden

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.

4 Reaktion(en)

  1. Rico Neitzel

    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

  2. Detlef Krause

    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

  3. Pingback: WordPress-Newsletter Nr. 28 | WordPress & Webwork

  4. urban-a

    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

Die Kommentare in diesem Beitrag sind geschlossen.