In dieser Serie geht es darum, ein WordPress-Theme zu erstellen – von Grund auf. Im vierten Teil geht es um die index.php
und die Loop – einen elementaren Bestandteil eines WordPress-Themes.
Kein WordPress-Theme ohne index.php
Die index.php
ist wie die style.css
aus unserem zweiten Teil eine Pflicht-Datei für ein WordPress-Theme – ohne geht es nicht. In der Template-Hierarchie eines WordPress-Themes ist die index.php
die allerletzte Fallback-Datei. Wenn also beispielsweise eine Seite angezeigt wird, euer Theme aber keine page.php
und keine Datei für eine bestimmte Seite enthält, so wird auf die index.php
zurückgegriffen.
In erster Linie ist die index.php
aber für die Darstellung der Blog-Übersicht gedacht. Als Alternative für den Fall, dass das Blog als Startseite fungiert, gibt es noch die home.php
. Ihr könntet also die Darstellung verändern, wenn das Blog als Startseite genutzt wird. So sieht unsere index.php
aus:
<?php get_header(); ?>
<main role="main">
<?php if ( have_posts() ) {
/* Start the Loop */
while ( have_posts() ) {
the_post();
get_template_part( 'content', get_post_format() );
}
}
the_posts_pagination( array( 'type' => 'list' ) ); ?>
</main>
<?php get_sidebar();
get_footer();
Code-Sprache: HTML, XML (xml)
Ziemlich übersichtlich, oder? Mit der get_header()
-Funktion wird die header.php
, die wir im letzten Teil der Reihe behandelt haben, eingebunden. Innerhalb des main
-Elements findet ihr einen elementaren Teil von WordPress: Die Loop. Das ist das Standard-Prozedere, wie in WordPress eine Reihe von Beiträgen ausgegeben wird. Mit if ( have_posts() )
prüfen wir, ob Beiträge gefunden wurden.
Wenn das so ist, starten wir die Schleife und lassen sie so lange laufen, bis have_posts()
nicht mehr wahr ist, es also nicht noch mehr Beiträge gibt. the_post()
holt die Daten zu dem aktuellen Beitrag aus der Datenbank. Innerhalb dieser while
-Schleife stehen uns jetzt nach dem the_post()
-Aufruf Funktionen zur Verfügung, um Informationen zu dem Beitrag anzuzeigen, der gerade durchlaufen wird – zum Beispiel the_title()
für die Ausgabe des Titels.
Theoretisch könnten wir uns jetzt bereits in der index.php
um die Ausgabe des Beitrags für die Blog-Seite kümmern. Da wir aber eine unterschiedliche Darstellung für Beiträge vom Typ „Bild“ und „Galerie“ erreichen wollen, gehen wir einen anderen Weg:
get_template_part( 'content', get_post_format() );
Code-Sprache: JavaScript (javascript)
Mit dieser Zeile sorgen wir dafür, dass eine Datei mit dem Präfix content-
gefolgt von der Bezeichnung des Post-Formats eingebunden wird. Im Fall einer Galerie wäre das die content-gallery.php
. Für Standard-Beiträge und solche, für die keine besondere content-
-Datei angelegt wurde, wird die Datei content.php
eingebunden. In diesen Dateien, die wir in späteren Teilen besprechen werden, findet dann die Ausgabe der Beiträge für die Blog-Seite statt.
Mit dem Aufruf der the_posts_pagination()
-Funktion geben wir bei Bedarf eine Pagination aus, damit auch ältere Beiträge angesehen werden können. Mit der get_sidebar()
-Funktion binden wir die sidebar.php
und mit get_footer()
die footer.php
ein.
Der Code auf GitHub
Im GitHub-Repository zu dieser Reihe gibt es den Tag „v0.3“. Dort findet ihr den Stand des Themes nach diesem Artikel.
Die weiteren Teile meiner WordPress-Reihe:
- Das eigene WordPress-Theme erstellen – #1: Vorbesprechung und Vorbereitung
- Das eigene WordPress-Theme erstellen – #2: Die style.css und die Metadaten eures Themes
- Das eigene WordPress-Theme erstellen – #3: Die header.php und der Kopf eures Themes
- Das eigene WordPress-Theme erstellen – #5: Die content.php
- Das eigene WordPress-Theme erstellen – #6: Das Theme auf die Übersetzung vorbereiten
- Das eigene WordPress-Theme erstellen – #7: Die Sidebar und der Footer
- Das eigene WordPress-Theme erstellen – #8: Menü, Sidebars und Theme-Support in der functions.php
- Das eigene WordPress-Theme erstellen – #9: Die Einzelansicht der Beiträge und Galerien in der single.php
- Das eigene WordPress-Theme erstellen – #10: Die Galerie-Sidebar mit Galerien aus derselben Kategorie
- Das eigene WordPress-Theme erstellen – #11: Der Kommentarbereich
- Das eigene WordPress-Theme erstellen – #12: Die Galerie und ihre Ansicht in der Blog-Übersicht
- Das eigene WordPress-Theme erstellen – #13: Die Archiv-Ansichten
- Das eigene WordPress-Theme erstellen – #14: Einzelansicht einer Seite und das 404-Template
- Das eigene WordPress-Theme erstellen – #15: Die alternative Startseite
- Das eigene WordPress-Theme erstellen – #16: Die Portfolio-Ansicht
- Das eigene WordPress-Theme erstellen – #17: Die Theme-Widgets
- Das eigene WordPress-Theme erstellen – #18: Der Customizer
- Das eigene WordPress-Theme erstellen – #19: Die Customizer-Einstellungen im Theme anwenden
- Das eigene WordPress-Theme erstellen – #20: Fertigstellung und Hochladen ins Directory
Dieser Beitrag ist eine Übernahme meines Beitrags für t3n.de.