HARALD MELCHER

Die zentrale Vorlagedatei

Die zentrale Vorlagedatei, die auf jeden Fall vorhanden sein muss, ist index.php im Stammverzeichnis des Themes. Bei einem minimalistischen Theme könnte diese Datei das komplette Aufbereiten der Seiten übernehmen:

<?php
/**
 * Minimalistic Theme file
 * Harald Melcher
 */

// Let write HTML5
echo '<!DOCTYPE html>';
echo '<html '.get_language_attributes().'>';

// Start the head
echo '<head>';
    echo '<meta charset="'.get_bloginfo( 'charset' ).'">';
    echo '<title>'.get_bloginfo( 'name' ).'</title>';
    echo '<meta name="viewport" content="width=device-width" />';
    echo '<link rel="profile" href="http://gmpg.org/xfn/11" />';
    echo '<link rel="pingback" href="'.get_bloginfo( 'pingback_url' ).'" />';
    echo '<meta name="viewport" content="width=device-width, initial-scale=1"/>';

    // Let WordPress do its magic
    wp_head();

echo '</head>';

// Start the body
echo '<body class="'.join(' ',get_body_class()).'">';

    echo '<div id="wrapper">';
        echo '<div id="header">';
            echo '<h1>'.get_bloginfo( 'name' ).'</h1>';
        echo '</div>';

        // Main content loop
        echo '<div id="content">';
            while (have_posts()) {
                the_post();
                echo '<div class="blog-post">';
                    echo '<h2 class="blog-post-title">'.get_the_title().'</h2>';
                    the_content();
                echo '</div>';
            }
        echo '</div>';
    echo '</div>';
echo '</body>';
echo '</html>';

Kleinere Themen können in der zentralen Vorlagedatei die komplette Seite aufbauen. Aber schon ab zwei unterschiedlichen Seiten-Layouts lohnt sich das Aufteilen von Vorlagen-Stückchen auf einzelne Dateien, die das Hauptskript dann je nach Bedarf einbindet.

Eine sinnvolle Aufteilung auf mehrere Dateien ist zum Beispiel:

  • header.php
    Seitenkopf, der Informationen, die in den <head>-Tag der HTML-Seite gehen sollen, enthält. Oft enthält er auch den öffnenden <body>-Tag des sichtbaren Inhaltes sowie den sichtbaren Titel der Seite. Dazu kommen dann evtl. ein Banner oder Logo und Navigations-Menus.
    Andere Skripte können den Header mit get_header() einbinden.
  • Content
    enthält die eigentlichen dynamischen Inhalte wie Beiträge oder Seiten
  • footer.php
    zeigt den Nachspann der Seite, meist den Link auf die Datenschutzseite, Copyright, Kondaktinformationen. Hier ist eine gute Gelegenheit, den <body>– und den <html>-Tag zu schließen und das HTML-Dokument zu beenden. Andere Skripte können den Footer mit get_footer() einbinden.
Einfache Aufteilung auf mehrere Dateien