WordPress & Webwork

WordPress: zusätzliche single.php für neue Beiträge

Wie weist man neuen oder alten WordPress-Beiträgen eine bestimmte single.php zu?

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.

4 Reaktion(en)

  1. Pierre

    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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.