Gabis Wordpress-Templates

Themes und nützliche Tipps für WordPress-Weblogs

Eine Extrawurst zubereiten mit Conditional Tags

Es gibt verschiedene Gründe, eine einzelne Seite in WordPress anders gestalten zu wollen als die übrigen Seiten und Artikel: Beispielweise eine Jubiläumsseite, eine spezielle Weihnachtsseite oder die Seite für Kinder.

Unter Zuhilfenahme der Conditional Tags is_home und is_page läßt sich eine kleine Abfrage generieren:

<?php if (is_home()) { ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_directory'); ?>/style.css" media="screen"/>
<?php }
elseif (is_page('123')) { ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_directory'); ?>/extra.css" media="screen"/>
<?php } else { ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_directory'); ?>/style.css" media="screen"/>
<?php } ?>

Der Code weist an, auf der “Home”-Seite das Standard-Layout (style.css) zu verwenden. Wenn die Seite mit der ID 123 angezeigt wird, soll die extra.css verwendet werden und in allen anderen Fällen wiederum die style.css.

Außer Austausch der css lassen sich mit diesem Code noch viele andere Dinge abfragen für eine bestimmte Seite und diese so anders gestalten als die übrigen Seiten von WordPress.

Ähnliche Beiträge:

Diesen Beitrag bookmarken:

10 Kommentare

  1. Björn-Torge sagt:

    Hi,

    Danke für den Tip.
    Aber funktioniert das auch mit Tags?
    Also, für jeden Tag einen speziellen Header?

    Viele Grüße,
    Björn-Torge

    • Gabi sagt:

      Hallo Björn-Torge,

      das geht auch: Mein Tag heißt beispielsweise “Reise”, dann muss das so aussehen:
      <link rel="stylesheet" type="text/css" href="/style.css" media="screen"/>

      <link rel="stylesheet" type="text/css" href="/extra.css" media="screen"/>

      <link rel="stylesheet" type="text/css" href="/style.css" media="screen"/>

      Mein Beispiel ist wieder eine ganze css-Datei ausgetauscht, musst dir das halt nur für den Header zurechtbasteln, falls du den direkt als img direkt per HTML einbinden willst.

      • Björn-Torge sagt:

        Liebe Gabi,

        Danke für die Anwort.
        Aber wo unterscheidet sich denn jetzt der Code von dem ursprünglichen? Und wo beziehst du dich denn im Code auf “Reise” ?

        Danke und viele Grüße.

  2. daniel sagt:

    hi gabi,

    das ist fast genau das, was ich suche (siehe: http://forum.wordpress-deutschland.org/design/59550-unterschiedliche-themes-abhaengigkeit-von-page-id-o-ae-merkmal.html). aber eben nur fast :-)

    geht das auch mit einem komplett anderen theme?!?

    für hilfe wäre ich seeeehr dankbar!
    viele grüße
    daniel

  3. Benjamin sagt:

    Hallo Gabi,
    ich versuche gerade den von dir beschrieben Code einzubauen.
    (bei der Seite http://www.nina-ralph.wesps.net)
    Die Statischen Seite Hochzeit, Gallery etc. sollen also auf eine andere .css zugreifen, die auch schon im Themenordner liegt.

    Leider weiß ich jetzt nicht genau in welcher .php ich den Code einfügen müsste. Dachte erst in der Header.php, doch das hat leider nicht funktioniert.
    Kannst du mir da weiterhelfen?
    Schöne Grüße

  4. christiane sagt:

    mir leuchtet der tipp auch ein, vielen dank, aber ich spreche mit den formulierungen doch die falschen seiten an- es gibt:
    wordpress2/?p=2
    wordpress2/?page_id=2

    wenn ich (is_page(’2′) wähle, welche der beiden oberen fühlt sich dann angesprochen? im moment keine…

    schöne grüße!

    • Gabi sagt:

      Hallo Christiane,

      bei wordpress2/?p=[Zahl] handelt es sich um einen WordPress-Artikel und bei wordpress2/?page_id=[Zahl] um eine statische Seite.

      Jeder Artikel und jede Seite hat eine fortlaufende ID in der Datenbank. Die von dir dargestellte Konstellation kann es normalerweise nicht geben, da eine ID nur einmal vergeben wird, egal, ob du eine statische Seite oder einen Blogbeitrag erstellst, und das Ganze immer hübsch der Reihe nach ;-) Alle Artikel und statische Seiten stehen im Mysql in der Tabelle wp_posts.

      Wenn du z.B. in einen frisch installierten Blog deinen ersten Blogbeitrag schreibst, hat der die ID 1 und das sieht dann so aus:

      wordpress2/?p=1

      Danach schreibst du erstmal dein Impressum in eine statische Seite, dann sieht diese URL so aus:

      wordpress2/?page_id=2

      • christiane sagt:

        liebe gabi,
        herzlichen dank für deine ausführliche erklärung!
        if (is_page(’123′)) { ?>
        bezöge sich also auf page_id=123 und nicht auf p=123?
        müsste man im 2.fall dann if (is_single(’123′)) { ?> nehmen? so vielleicht?

  5. Wolfgang sagt:

    Danke für den Tipp! Funktioniert wunderbar.

    Gruß Wolfgang

Kommentar schreiben




XHTML Erlaubte Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Mit Absenden des Kommentars erkläre ich meine Einwilligung zur Verarbeitung der eingegebenen Daten gemäß Datenschutzerklärung



  • ...
  • Statistik

    • 84 Artikel
    • 247 Kommentare
    • 33 Kategorien
    • 47 Verweise. 0,410 Sekunden.
Gabis Wordpress-Templates - WordPress 3.3 Anpassung und Design: Gabi. 3 Besucher online