single.php – Template für Beiträge/Posts

Bevor wir die single.php anlegen, schau dir nochmal die WordPress Template Hierarchie an. Anfangs habe ich schon erwähnt, dass die Dateien index.php + style.css zusammen schon ein voll funktionsfähiges Template ausmachen. Möchte man das Template aber spezialisieren, braucht man weitere Template-Dateien, in diesem Fall die single.php.

Wofür ist die single.php

Wenn WordPress einen Einzel-Beitrag anzeigen soll, schaut es im Template-Ordner erstmal nach der Datei „single.php“. Wenn er sie findet, benutzt er diese Template-Datei um die Seite anzuzeigen, findet er sie nicht, greift er auf die „index.php“ zur Anzeige zurück. Dies ist bislang bei uns so der Fall, doch das wollen wir nun ändern.

Erzeuge die Datei „single.php“ im Template-Ordner und kopiere den kompletten Code aus der index.php und füge ihn in die single.php ein (kopieren nicht ausschneiden):

single.php

<?php get_header(); ?>

	<div id="main">
		
		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
			<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
			<div class="entry">
				<?php the_content(); ?>
			</div>
		<?php endwhile; endif; ?>
		
	</div><!-- main -->
	
	<div id="sidebar">
		<?php get_sidebar(); ?>
	</div><!-- sidebar -->	

<?php get_footer(); ?>

Nun sollten wir zwei Dateien mit identischem Code haben. Ab jetzt nehmen wir nur noch Änderungen an der „single.php“ vor. Als erstes wollen wir unterhalb des Beitrag-Titels den Namen des Autor, das Datum der Veröffentlichung und die Kategorie des Beitrags anzeigen:

<?php get_header(); ?>

	<div id="main">
		
		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
			<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
			<div id="meta">
				<p>erstellt am: <?php the_date('d.m.Y'); ?> | 
				von: <?php the_author(); ?> | 
				Kategorie(n): <?php the_category(', '); ?></p>
			</div>
			<div class="entry">
				<?php the_content(); ?>
			</div>
		<?php endwhile; endif; ?>
		
	</div><!-- main -->
	
	<div id="sidebar">
		<?php get_sidebar(); ?>
	</div><!-- sidebar -->	

<?php get_footer(); ?>

Im Grunde greife ich einfach nur über die Template Tags auf die Werte zu, die ich brauche. the_date() gibt mir das Datum aus, wann der Artikel erstellt wurde (es gibt einige Formatierungsmöglichkeiten, man muss lediglich den Parameter-Wert anpassen). Als nächstes gebe ich mit „the_author()“ den Autor des Beitrags aus und mit „the_category(‚, ‚)“ folgt eine kommaseparierte Liste der Kategorien, mit denen der Beitrag assoziiert ist. Alles in allem recht einfach, du überlegst welchen Wert du anzeigen möchtest, schaust nach, welche Funktion dafür zuständig ist und passt dir das Ergebnis mit den nötigen Parameter-Werten an, easy as pie.

hier geht's weiter...



Feedback Formular