26.01.2009 - geschrieben von Marvin in Tutorials
18 Individuelle Wordpress Archivseite
![]()
Eine individuelle Wordpress Archivseite hat den Vorteil, dass der Besucher alle Artikel, die man verfasst hat, nochmal auf einer schönen Übersichtsseite chronologisch aufgelistet bekommt und so schneller Beiträge findet, die ihn ebenfalls noch interessieren könnten. Dies setzt man am besten mit einer eigenen Templatedatei um. Wie ich dabei vorgegangen bin um mein “Archiv” zu erstellen, könnt ihr hier nachlesen.
Ein eigenes Archiv-Template
Als Erstes legt ihr eine neue php-Datei im entsprechenden Templateverzeichnis an. Meine heisst z.B. archiv.php, und beinhaltet am Anfang einen kleinen PHP-Schnipsel, der auf den Templatenamen verweist, damit Wordpress die neue Datei als individuelles Seitentemplate erkennt:
<?php /* Template Name: Archiv */ ?>
Der folgende Loop für ein Archiv, welches lediglich Datum, Beitragsname und Kommentaranzahl in einer Liste anzeigt, sieht bei mir wie folgt aus:
<h1>Archiv</h1>
<?php if (have_posts()) : ?>
<ul class="archiv">
<?php query_posts('cat=1,26&showposts=-1'); ?>
<?php while (have_posts()) : the_post(); ?>
<li>
<?php the_time('d.m.Y'); ?> -
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
(<?php comments_number('0','1','%');?>)
</li>
<?php endwhile; ?>
</ul>
Die Anzahl der anzuzeigenden Beiträge (in diesem Fall ja alle) mithilfe von
<?php query_posts('showposts=-1'); >
habe ich deshalb mit eingebracht, da sonst die Anzahl der in Wordpress voreingestellten Beitragsanzahl angezeigt wird und wir ja wollen das alle zum Vorschein kommen.
Anmerkung: Die mit query_posts könnt ihr auch benutzen um die Ausgabe an eure Bedürfnisse anzupassen. Zum Beispiel habe ich an dieser Stelle noch den Parameter cat mit den werten 1 & 26 gefüllt (cat=1,26), um bei mir nur die Kategorien Neuigkeiten und Tutorials ausgeben zulassen.
Die fertige Ausgabe laut oben definiertem Loop sieht dann wie folgt aus:
Datum – Titellink (Anzahl der Kommentare)
Die Archivliste hübsch machen
Damit das nich so langweilig aussieht fügen wir für die Liste mit der ID “archiv” noch ein paar CSS Anweisungen in unser Stylesheet:
ul.archiv {
margin:20px 0px;
padding:0px;}
ul.archiv li {
padding:5px 0px 5px 0px;
border-top:1px dotted #ddd;}
ul.archiv li:first-child {
border:none;}
ul.archiv li:hover {
background:#f4f4f4;}
Auswählen des Templates
Um die nun erstellte Archiv-Seite zu unserer Wordpress-Installation hinzuzufügen, erstellt man im Adminbereich unter “Seiten” eine neue Seite und wählt die gerade erstellte archiv.php rechts unter Template aus. So, das wars es dann auch schon. Das fertige Ergebnis : Demo
Anregungen und Fragen könnt ihr wie immer in die Kommentare schreiben!
18 Kommentare
Trackback - RSS Kommentare zu "Individuelle Wordpress Archivseite"
1 Nico
schrieb am 26. Januar 2009 um 14:40
Danke für den Nützlichen Artikel, werde ich glaube ich demnächst auch mal bei mir ausprobieren!
2 Trends
schrieb am 5. Februar 2009 um 09:57
Klasse Idee. Wie kann ich den sowas für die meistgelesenen Artikel des Jahres 2008 erstellen?
3 Marvin
schrieb am 5. Februar 2009 um 12:46
Also fuer die meistgelesenen Artikel braucht man schon ein Plugin, aber das Jahr bekommt man ziemlich einfach durch das
year– Attribut in der query posts – Anweisung rausgefiltert:year=2008.4 Frank
schrieb am 5. Februar 2009 um 15:08
1000 ist nicht gut; wenn du nur 2 Werte hast, dann läuft trotzdem der Loop und wenn du mehr hast, dann reicht 1000 nicht; -1 meint alle und macht das auch.
5 Marvin
schrieb am 5. Februar 2009 um 15:14
Ja stimmt. Das
-1hab ich erst vor ein paar Tagen im Codex entdeckt, wollte das die ganze Zeit schon mal ändern. Aber danke fuer den Tip :)6 Nico
schrieb am 23. Februar 2009 um 20:12
So hab das ganze in meinem Blog mal umgesetzt, hab oben drüber noch eine Schlagwort Wolke erstellt, Vielen Dank Dafür :)
http://www.cofilew.de/archiv/
7 Ein bisschen hier… ein bisschen da… | Cofilew
schrieb am 23. Februar 2009 um 20:38
[...] hier nochmal einen großen Dank an Marvin Labond der in seinem Blog bugeyes.de dazu einen Artikel schrieb wie man sich so eine Tolle Individuelle Wordpress Archiv Seite [...]
8 Marvin
schrieb am 26. Februar 2009 um 07:37
@ Nico, sieht ja richtig gut aus ;)
schön das ich mal ein Live-Feedback bekomme.
9 0816
schrieb am 2. Juli 2009 um 10:50
Klingt gut aber wenn ich es 1zu1 übernehme funktioniert es nicht und ich bekomme
Parse error: syntax error, unexpected $end in /WWWROOT/153921/htdocs/wp-content/themes/geex3m/damals.php on line 14Da ich aber absolut null Ahnung von php habe, schätze ich das irgend etwas vorrausgesetzt wird von dem ich nichts weiß. Mehr Code? Ein Plugin?
10 Marvin
schrieb am 2. Juli 2009 um 10:58
Nein, es wird nichts weiter vorrausgesetzt. Allerdings ist das nur der Code für den Loop.
Wie dein Template drumherum “ausseht” (wo z.B. Header und Footer platziert ist..) weiss ich ja nicht..
die
damals.phpsoll also deine Archivseite sein?Schick doch mal ein Link :)
11 0816
schrieb am 2. Juli 2009 um 11:17
Aha, dachte ich mir. Das Zauberwort lautet Loop. Ich Held hab natürlich nichts drumherum.
der exakte link: http://www.pefer.de/es-war-einmal/
bzw. http://www.pefer.de/wp-content/themes/geex3m/damals.php
Kannst du eine gute php-tutorial-seite empfehlen (google spuckt mir zuviel raus) das sind ja die absoluten basics ohne die ich nicht wirklich weit komme
12 Marvin
schrieb am 2. Juli 2009 um 11:31
ja, also bei bueltge.de oder perun.net wird man für wordpress immer gut fündig. haben beide grundlegende tutorials für die wordpress anpassung! viel php musste da gar nciht lernen, das meiste klappt mit copy&paste :p
anonsten solltest gerade ne meial bekommen haben ;)
13 0816
schrieb am 2. Juli 2009 um 12:39
Danke, die beiden Seiten werde ich mir mal genauer ansehen.
Mail wird gleich beantwortet :)
14 annika
schrieb am 30. November 2009 um 18:27
Hallo Marvin!
Ich würde gerne mal in Deinen gesamten Aufbau deiner archiv.php reinschauen. Wäre es Dir vielleicht möglich, mir den Code zuzusenden? Ich erhoffe mir ein Lerneffekt davon, weil ich komme gerade gar nicht weiter. ;-/
15 Marvin
schrieb am 30. November 2009 um 20:32
warscheinlich fehlen dir folgende Includes:
< ?php get_header(); ?>,< ?php get_footer(); ?>und< ?php get_sidebar(); ?>. Guck einfach in deine andere Template Files, an welche Stelle diese müssen.16 annika
schrieb am 1. Dezember 2009 um 13:25
nein, die habe ich ja drin, aber am ende bekomme ich irgendwie nur ein “30.11.2009 – Archive (0)” heraus, anstatt die artikel. und das verstehe ich nicht (habe allerdings auch nicht wirklich ahnung von php)
17 Smart Archives Reloaded: Schöneres Archiv für Wordpress
schrieb am 10. Dezember 2009 um 22:22
[...] oder sich seine Archiv Seite selber gestalten. Dafür gibt es auf tigion.de oder bugeyes.de nette [...]
18 David
schrieb am 18. Dezember 2009 um 05:54
Es fehlt das “” nach dem :)