id oder class in Abhängigkeit von Page oder Category

  • Hi Leute,

    schon wieder so ne Kniffligkeit :)

    Würde gerne meinem <body> eine ID oder Klasse mitgeben, je nachdem, wo auf der Website ich mich befinde. Also z.B. wennich auf "über uns" oder einer Unterseite davon bin, eine entsprechende Klasse.

    Meine einzige Idee wäre bisher, vor dem Body-Tag schon eine Art Mini-Loop einzubauen, der mir die ID der Page holt und diese dann an der entsprechenden Stelle einzusetzen. Aber 1. ist das Problem damit ja noch nicht vollständig gelöst (was ist mit Kategorien?) und 2. wäre es natürlich viel eleganter, ganze Seitenbäume (also Pages und ihre Subpages) mit Klassen ansprechen zu können.

    Hat jemand von den Spezialisten also ne bessere Idee?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Einzelbeitragsansicht bzw. Einzelseitenansicht? Dann kannst du mit is_single() bzw. is_page() arbeiten. Die Post-ID sollte in "$post->id" zu finden sein (oder "ID", hab das grade nciht im Kopf ;-)).

    So in etwa:

    PHP
    if( is_single() ) {
      echo "<body class='wp-single-{$post->ID}'>";
    } elseif( is_page() ) {
      echo "<body class='wp-page-{$post->ID}'>";
    } else {
      echo "<body>";
    }


    Bzw. in der page.php/single.php entsprechend angepasst.

  • Habs für den Moment jetzt so gelöst, scheint mir bei ner überschaubaren Menge Seiten das zweckmäßigste zu sein:

    PHP
    <?php if ( is_page(array(11,13,14,15,16)) ) {$klasse='meineklasse';} ?>

    und dann:

    PHP
    <body class="<?php echo($klasse); ?>">

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!