Gar nicht so selten kommt es vor, dass man an seinem Blog Veränderungen vornehmen möchte und dafür die single.php verändern muss. Ein konkreter Fall könnte zum Beispiel sein, dass man in der ursprünglichen single.php ein Code-Fragment entfernen möchte, würde man dies aber machen wären alle alten Beiträge im Design „zerschossen“. Ein anderer Fall wäre es, ein Code-Fragment hinzuzufügen, dass man aber in den bereits bestehenden Beiträgen nicht enthalten haben möchte.

Wie geht man das nun am besten an? Dabei gibt es sicherlich mehrere Lösungswege. Man könnte zum Beispiel eine Kategorie erstellen, der alle neuen Beiträge zugewiesen werden und die dann eine eigene single.php bekommt. Wie das funktioniert ist in dem Beitrag WordPress-Artikel einer bestimmten Kategorie sollen ein eigenes Template erhalten beschrieben.

Hier möchte ich nun eine andere Möglichkeit vorstellen. Und zwar geht man dabei nach dem Veröffentlichungsdatum der Beiträge.

<?php $post = $wp_query->post;

            $date1 = "2016-02-04"; //4. Februar 2016
            $date2 = $post->post_date;

                if ($date1 < $date2) {
                    include(TEMPLATEPATH . '/single-neu.php');
                }
                else {
                    include(TEMPLATEPATH . '/single-alt.php');
                }
?> 

Dabei werden zwei Daten mit einander verglichen und je nach dem ob das Datum kleiner oder größer ist wird auf eine bestimmte single.php zugegriffen. Dieser Code lässt sich selbstverständlich auch mit anderen, zum Beispiel dem nach den unterschiedlichen Kategorien, kombinieren.

Divi: Premium-Theme für WordPress
Werbung

Geschrieben von Thordis

Thordis Bonfranchi-Simović arbeitet seit Januar 2004 mit WordPress.

  1. Gute Idee mit dem Datum! Aber macht es nicht Sinn, die Funktion get_template_part() statt include() zu nutzen?
    Referenz: Custom Post Templates und Understanding get_template_part

  2. Jo, kann man so machen. Aus konzeptioneller Sicht sollte man jedoch mögliche Probleme von vornherein ausschließen, indem man die Datei nur für das benutzt, für was sie gedacht ist und in der Beeitragsverwaltung nur den reinen Beitragsinhalt verwaltet. Dann wird auch nichts „zerschossen“. Sonst könnte man ja gleich den ganzen Themewechsler in die Tonne kloppen.

  3. TEMPLATEPATH .. is aber eklig. Was spricht gegen get_template_directory()?

    cu, w0lf.

  4. Nichts spricht gegen den Einsatz von get_template_directory()

Kommentare sind geschlossen.