Wie schon in ein, zwei Beiträgen in diesem netten Forum beschrieben, benutze ich WP 2.0.2 als CMS-Ersatz. Dazu versuche ich, zu jedem Eintrag eine zweite Zeitangabe (das Jahr, es ist ein Werkskatalog) abzuspeichern.
Zuerst habe ich das über RS-Event erledigt (vgl. Beitrag). Dann bin ich auf die Wunderwelt der Meta-Angaben gestoßen, mit der ist das alles etwas übersichtlicher (vgl. Beitrag). RS-Event nutze ich nun außschließlich für Ankündigungen, die Jahresangeben stehen im benutzerdefinierten Eingabefeld "Jahr".
Der Pferdefuß von Meta-Angaben ist, daß man sie nicht als Sortierungs-Kriterium benutzen kann, das wäre in einem Werkskatalog (Werke nach Jahren) aber viel besser.
In der englischen Wordpress-Doku ist dazu ein halbwegs verständlicher Beitrag erschienen, der in einen selbstgebastelten Meta-Key-Loop mündet: (Link zum Beitrag)
if ( $recentposts =
$wpdb->get_results("SELECT ID, post_title, post_date, post_content, meta_value, guid FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id WHERE post_status = 'publish' AND meta_key='BookTitle' ORDER BY meta_value, post_date DESC LIMIT 5")) {
foreach ($recentposts as $post) {
echo "<a href=\"{$post->guid}\" title=\"Permanent Link: {$post->post_title}\">{$post->meta_value}</a>";
} }
Der Teil hinter dem echo ist dabei die Ausgabe dieses alternativen Loops. Natürlich nicht mehr so komfortabel nutzbar wie Template Tags.
So! Zur Frage: Diese Lösung ist auf die Auflistung einzelner Meta-Kategorien, z.B. für die Titelseite ausgelegt. RS-Event funktioniert wahrscheinlich genauso.
Läßt sich die SQL-Abfrage so umbauen, daß sie im Kategorie-Archiv jeweils nur eine Kategorie ausliest? Läßt sich dann noch mit den Seiten (und dem Navigations-Plug-In) arbeiten? Ich glaube, da kommt man bald vom 100. ins 1000.
Besteht die Möglichkeit, den Original-Loop zu ändern, damit der auf der ganzen Seite nur noch stur nach dem Meta-Key "Jahr" sortiert?