WordPress Theme erstellen (Teil 3)

Home / Knowledge / WordPress Theme erstellen (Teil 3)

Blog Detail-Daten ausgeben

Bei vielen Blogs werden wichtige Daten wie Erstellungsdatum, Autor und Kategorie angegeben. Diese müssen im eigenen Theme zuerst abgefragt werden, bevor sie ausgegeben werden können. Auch die Verlinkung von Autor oder Kategorien zur jeweiligen Übersichtsseite ist wichtig.

Erstellungsdatum ausgeben

Da die Blogbeiträge zurezit auf der Startseite angezeigt werden, muss index.php bearbeitet werden.

Bildschirmfoto 2014-11-05 um 10.51.23

<p class="post-info"><?php the_time('l, j. F Y \u\m G:i \U\h\r') ?></p>

Mittels WordPress-Function the_time oder the_date kann unter zuhilfename verschiedener Formatierungsvariablen die gewünschte Datums-Ausgabe gemacht werden. Alle diese Variablen finden sich auf folgender Webseite:
http://codex.wordpress.org/Formatting_Date_and_Time

Autor des Blogbeitrages ausgeben

Der folgende Code wird dem Erstellungsdatum nachgestellt:

Bildschirmfoto 2014-11-05 um 10.52.23

<p class="post-info"><?php the_time('l, j. F Y \u\m G:i \U\h\r') ?> | von <a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"><?php the_author() ?></a></p>

Mit der WordPress-Function get_author kann der Name des Autors ausgegeben werden. Mit get_author_posts_url kann die URL zur Autor-Archiv-Seite ausgelesen werden. So wir der Besucher durch klick auf den Autorennamen direkt auf dessen Archivseite umgeleitet. Das ist vor allem dann spannend, wenn mehrere Autoren Beiträge erfassen.

Kategorie des Beitrags ausgeben

Um den oder die Kategorienamen auszugeben wird etwas mehr PHP-Code benötigt. Auch dieser wird dem Autor-Code nachgestellt:

Bildschirmfoto 2014-11-05 um 10.56.30

<p class="post-info"><?php the_time('l, j. F Y \u\m G:i \U\h\r') ?> | von <a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"><?php the_author() ?></a> | Kategorie:
            
            <?php  
            
                $categories = get_the_category();
                $seperator = ", ";
                $output = '';

                if ($categories) {
                    foreach ($categories as $category) {
                        $output .= '<a href="' . get_category_link($category->term_id) . '">' . $category->cat_name . '</a>' . $seperator;
                    }
                    
                    echo trim($output, $seperator);
                }

            
            ?></p>

Hier können wir nun primär mit der WordPress-Function get_the_category arbeiten, müssen diesen Array aber noch etwas auseinander nehmen und die gewünschten Stellen wie Kategorie-Name und Kategorie-Link auslesen. Dies geschieht in einer foreach-Schlaufe, damit auch mehere Kategorie-Namen ausgegeben werden. Mit dem trim-Attribut wird das letzte Komma wieder weggenommen, da es so nicht viel Sinn machen würde.

CSS-Einstellungen vornehmen

article.post h2 {
    margin-bottom: 0;
}

p.post-info {
    font-size: 87%;
    color: #999;
    margin: 0;
}

p.post-info a:link,
p.post-info a:visited {
    color: #999;
    text-decoration: underline;    
}

Damit Abstände, Farben und Linkverhalten stimmen, müssen diese noch im CSS angepasst werden.

Archivseiten einrichten

Wenn z.B. auf den Autorennamen oder auf eine Kategorie geklickt wird, gelangt der Besucher automatisch auf eine Archivseite für diese Kategorie oder den Autor. Möchte man nun diese Archiv-Seite gestalten, so muss eine neue Datei erstellt werden, archiv.php. In diese kann vorerst der gleiche Inhalt wie index.php kopiert werden.

Archiv-Titel definieren und ausgeben lassen

Möchte man nun auf einer Archiv-Seite einen speziellen Titel ausgeben, so kann dieser in der neuen Datei angelegt werden:

Bildschirmfoto 2014-11-06 um 14.52.56

<?php

get_header();

if (have_posts()) :

    ?><h2><?php

        $a = ' Archiv';

        if ( is_category() ) {
            echo single_cat_title().$a;
        } elseif ( is_tag() ) {
            echo single_tag_title().$a;
        } elseif ( is_author() ) {
            the_post();
            echo 'Autor Archiv: ' . get_the_author();
            rewind_posts();
        } elseif ( is_day() ) {
            echo 'Tägliches Archiv: ' . get_the_date();
        } elseif ( is_month() ) {
            echo 'Monatliches Archiv: ' . get_the_date('F Y');
        } elseif ( is_year ) {
            echo 'Jährliches Archiv: ' . get_the_date('Y');
        } else {
            echo 'Archiv: ';
        }

    ?></h2>

    <?php

Nun kann man z.B. innerhalb eines <h2> Tags mit folgendem PHP-Code verschiedene Titel definieren, welche je nach Situation angezeigt werden. Befindet sich der Besucher z.B. im Kategorie-Archiv, so wird nun „Kategorienamen Archiv“ angezeigt. So können auch andere Werte wie Tag, Autor, Tag, Monat oder Jahr abgefragt werden.

Blogbeiträge in Archivseiten kürzen

<?php the_excerpt(); ?>

Möchte man nun, dass die Beiträge in der Archiv-Seite gekürzt angezeigt werden, so kann man dies einfach mit obigem Code erreichen. Dieser sollte <?php the_content(); ?> ersetzen.

Joel Weiss
Joel Weiss
Webdesigner bei der Webagentur WeLoveYou und leidenschaftlicher Fotograf und Filmemacher.
Empfohlene Beiträge

Ein Kommentar hinterlassen

Fragen?

Falls Du Fragen, Anregungen oder ein Feedback hast, schreibe uns und wir antworten gerne.