22.
Okt
2005

Inhaltsverzeichnis erstellen

Das war nicht ganz so einfach… Was ich wollte, war ein Inhaltsverzeichnis aller Posts in alphabetischer Reihenfolge, das auf einer statischen Seite erscheinen soll, die in der Sidebar aufgerufen wird.

Erst habe ich zwei Archiv-Plugins getestet, die aber beide nicht so funktionierten, wie ich es wollte. Dann versuchte ich es mit einem Template Tag:

<?php wp_get_archives('type=postbypost&sort=post_title&order=ASC'); ?>

Eigentlich müsste das Ergebnis dieser Archivausgabe genau das sein, was ich haben wollte. Leider ist jedoch, wie ich im wordpress.org-Supportforum las, genau hier ein kleiner Bug in WP, denn das Ganze funktioniert so nicht. Aber es gibt eine Möglichkeit:
Die Datei wp-includes/template-functions-general.php muss bearbeitet werden (vorher Sicherungskopie erstellen!). In Zeile 344 (in meiner WP-Version) steht folgendes:

} elseif ('postbypost' == $type) { $arcresults = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_date < '$now' AND post_status = 'publish' ORDER BY post_date DESC" . $limit);

Hier muss das “ORDER BY post_date DESC” ersetzt werden durch “ORDER BY post_title ASC

Dann habe ich ein neues Template erstellt, indem ich die page.php kopiert und als inhalt.php abgespeichert und ganz oben auf der Seite eingefügt habe:

<?php /* Template Name: Inhalt */ ?>

und unter dem “h2″-Absatz dann das Archiv aufgerufen durch

<?php wp_get_archives('type=postbypost'); ?>

Als letztes habe ich eine neue Seite erstellt, unter “Template der Seite” “Inhalt” ausgewählt und diese Seite dann ohne jeglichen Inhalt mit dem Titel “Inhaltsverzeichnis” abgespeichert.

Um diese Seite aufzurufen, habe ich einen Link zu ihr in der Sidebar als “h3″ eingefügt. Wie man dort jetzt sehen kann :-)
Merkwürdig ist allerdings, dass die Posts, die mit einem Umlaut beginnen, ganz oben auf der Liste auftauchen – daher habe ich sie erstmal in Ae.., Oe.., Ue.. geändert.

Solche Änderungen wie die in der template-functions-general.php haben natürlich den Nachteil, dass bei Programm-Updates eventuell auch diese Datei verändert wird und dann erneut eine manuelle Änderung der Datei durchgeführt werden muss. Aber vielleicht funktioniert bei einem Update dann ja das “wp_get_archives”, so dass ich mir das Ändern sparen kann.

Update am 29.10.2006: Ich habe mittlerweile eine andere Möglichkeit gefunden, ein Inhaltsverzeichnis erstellen zu lassen, ohne jedes Mal die wp-includes/template-functions-general.php bearbeiten zu müssen – hier steht, wie.

Einsortiert unter page.php
Bookmarken bei: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Y!GG
  • Bloglines
  • Linkarena
  • Webnews

Noch keine Kommentare

Einen Kommentar schreiben:

Smilies einfügen:

http://www.barbarajany.de/wp1-5/wp-content/smilies/smile.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/bye.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/wink.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/scratch.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/cool.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/rolleyes.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/blush.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/good.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/angry.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/whistle.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/sad.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/cry.gif 
http://www.barbarajany.de/wp1-5/wp-content/smilies/nono.gif 
 

RSS-Feed für Kommentare zu diesem Beitrag  ·   Trackback URL


Zum vorherigen oder nächsten Beitrag blättern:

«         »