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.

Diesen Blogartikel teilen:

Verwandte Beiträge:

Amazon Business
Werbung

Geschrieben von Vladimir

Vladimir Simović arbeitet seit 2000 mit HTML & CSS und seit Januar 2004 mit WordPress. Im Laufe der Jahre hat er diverse Fachbücher und Fachartikel publiziert.

  1. 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. 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. […] Hauptnavi auf bestimmten Unterseiten ausblenden […]

  4. 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

Kommentare sind geschlossen.