Body IDs für verschiedene Seiten vergeben

  • Ich möchte gern per CSS den Body verschiedener Seiten ansteuern um den Hintergrund für jede Seite unabhängig voneinander einstellen zu können.

    Ich benutze das Boldy Theme und dort sind für die Seiten Home und Portfolio schon Body IDs mit den Namen "home" und "portfolio" vergeben.

    PHP
    <body id="home">
    <body id="portfolio">

    Ich habe bereits herausgefunden, dass diese mit diesen Zeilen Code in der Header.php definiert werden.

    PHP
    <body <?php if(is_home()){echo 'id="home"';}
    				elseif(is_category(get_option('boldy_portfolio')) || post_is_in_descendant_category( get_option('boldy_portfolio')) && !is_single()){
    				echo 'id="portfolio"';
    			}?>>


    Aber alle Versuche, weitere Seiten mit eigenen Body IDs hinzuzufügen sind kläglich gescheitert. Könnte mir da vielleicht jemand unter die Arme greifen?

    Ich danke schon einmal.

    • 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

  • versuch's mit:

    PHP
    <body <?php if(is_home()){echo 'id="home"';} 
                    elseif(is_category(get_option('boldy_portfolio')) || post_is_in_descendant_category( get_option('boldy_portfolio')) && !is_single()){ 
                    echo 'id="portfolio"'; 
                }
    elseif( is_page() ) {
    echo 'id="page-' . $post->post_name . '"'; } ?>>
  • Es hat mich einfach nicht ruhen lassen und nach weiteren Stunden rumprobieren hab ich es endlich geschafft.

    In meinem speziellen Fall wollte ich die Blog Post Seite von den anderen Seiten im CSS Layout verändern. Dafür habe ich diese Zeile in der header.php hinzugefügt.

    PHP
    elseif(is_single($post)){echo 'id="gallery"';}?>

    Nun haben alle Blog Post Seiten die neue Body ID und lassen sich über das CSS Style Sheet unabhängig vom Rest hervorragend anpassen.

    PHP
    <body id="gallery">
  • Hallo alchymyth

    wenn ich deinen Code hinzufüge, bekomme ich einen Syntax Fehler. Aber es hat mich dazu inspiriert noch etwas an meiner voherig geposteten Zeile auszuprobieren. Mit dem "is_page" kann ich sogar eine einzelne Page ID herausgreifen.

    zB. blog.../?page_id=59

    PHP
    elseif(is_page('59')){echo 'id="services"';}?>


    In der vorherig geposteten Variante werden ja alle Seiten eines Typs verändert.

    Vielen Dank für den Denkanstoß.

Jetzt mitmachen!

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