Hilfe zum selbstgeschriebenen Loop

  • 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)

    PHP
    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?

    Einmal editiert, zuletzt von Paracetamol (6. Oktober 2006 um 16:18)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!