Header Bild für Page ausblenden

  • Grüß euch,

    in meiner header.php findet sich folgender Code

    PHP
    <?php if( !is_front_page() && ( is_home() || is_archive() || is_page() ) ) {
     // Code für Page, Home und Archiv einblenden
    }

    Damit wird ein Header Image über den Customizer für die Seiten eingeblendet. Das Image gilt für alle Seiten.
    Nun habe ich 3 Seitentemplates. Auf diesen sollen jeweils 3 andere Angezeigt werden.

    PHP
    <?php
    /**
     * Template Name: Hotel
     *
     */
    get_header();
    PHP
    <?php
    /**
     * Template Name: Kontakt
     *
     */
    get_header();
    PHP
    <?php
    /**
     * Template Name: Impressum
     *
     */
    get_header();

    Meine Idee wäre, den Code in der header.php folgendermassen anzupassen

    PHP
    <?php if( !is_front_page() && ( is_home() || is_archive() || is_page() ) ) {
         // Code für Page, Home und Archiv einblenden
    } elseif (hotel) {
        // image für Hotel <img src="
    } elseif (kontakt) {
        // image für Kontakt <img src="
    } elseif (impressum) {
        // image für Impressum <img src="
    }

    Ich habe mich jetzt mit dem Codex und der Forensuche beschäftigt, bin aber nicht fündig geworden und hoffe auf eure Hilfe.

    • 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

  • Ah Ok, das habe ich Tatsächlich übersehen.
    Jetzt fehlt mir nur ein Ansatz wie ich

    PHP
    <?php if( !is_front_page() && ( is_home() || is_archive() || is_page() ) ) {


    so umbauen kann das dies nicht für hotel.php, impressum.php und kontakt.php gilt.

  • Da gibt es viele Möglichkeiten je nach weiterem Context, würde wahrscheinlich sowas nehmen:

    PHP
    <?php if( !is_front_page() && ( is_home() || is_archive() || is_page() ) ) {
        if ( is_page_template( 'hotel.php' ) ) {
            // Code für Hotel
        } else if ( is_page_template( 'impressum.php' ) ) {
            // Code für Impressum
        } else {
            // Code für Page, Home und Archiv einblenden
        }
    }
  • Leider nicht. Es wird auf den Seiten immer noch die Grafik für page, achriv etc. ausgeben.
    Ich habe 2 Varianten versucht, ohne Erfolg

    Variante 1

    Variante 2

  • Wird denn "test" ausgegeben, wenn das Seiten-Template benutzt wird? Stimmt der Dateiname der Templatedatei exakt mit dem Parameter überein? Liegt die Datei ggf. in einem Unterverzeichnis, dann muss das Verzeichnis mit in den Parameter, siehe auch Beispiele im Codex. Evtl. hilfreich wäre ein Link zu einer Seite mit so einem Template oder die Angabe, was genau im body-Tag auf einer Template-Seite als class="xxx" ausgegeben wird?

    5 Mal editiert, zuletzt von b3317133 (19. April 2018 um 00:45)

Jetzt mitmachen!

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