- mit benutzerdefinierten Feldern die Startseite gestalten

Rados von goonet.ch wollte dieser Tage nicht nur ein Update auf das neue WP, sondern auch andere Kategorien erstellen und hie und da andere Artikel direkt auf die Startseite bringen.
Welche Kategorien es sein werden, kann er aber so gleich nicht sagen. Da mag er Freiheit haben. Bis gestern wurden die Artikel nach Kategorien geordnet angezeigt. Außerdem sollte alles ganz leicht und einfach beim Artikel erstellen sein.
Vorgaben für die Startseite von goonet.ch
- Der Platz für die Anzeige eines Artikels soll auf der Startseite frei wählbar sein.
- Jeder Artikel sollte aber in einer oder mehreren Kategorien abspeicherbar sein und nicht jeder Artikel kommt auf die Startseite.
- Außerdem – so einfach wie möglich im täglichen Handling.
- benutzerdefinierten Feldern auswählen

So kam ich auf die Idee die benutzerdefinierten Felder zu nutzen. Wie am Bild ersichtlich teilte ich die Startseite in den groben Bereich “oben” und “unten” ein und dann in “links” “mitte” “rechts”.
Die benutzerdefinierten Felder muß man einmal erstellen, dann stehen sie in einem Drop Down Menü zur Auswahl bereit. Da pro Platz nur 1 Artikel erscheinen sollte, ist es in diesem Fall egal, welchen Wert so ein benutzerdefiniertes Feld hat, es muß nur einen haben, sonst gibt es Probleme beim Speichern.
1 Artikel oben-links anzeigen
<?php $pageposts = $wpdb->get_results("SELECT * FROM $wpdb->posts, $wpdb->postmeta WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = 'oben-links' ORDER BY post_date DESC Limit 1", OBJECT); if ($pageposts) : foreach ($pageposts as $post): setup_postdata($post); ?> all der Ausgabe code .. <?php endforeach;endif;?>
Dies wiederholte ich für jeden der 6 benutzerdefinierten Schlüssel.
Und dies bedeutet frei übersetzt
Pagepost sind alle posts, wo die post id mit der postmeta id ident ist und die einen postmeta key mit dem Namen “oben-links” haben, geordnet werden sie nach dem Erstelldatum des posts und die Anzeige ist limitiert auf 1.
Mit foreach beginnt ein WP Loop. Wenn es pageposts gibt, dann zeige die an und nutze dafür alles was Dir WP so liefert.
Rados freut sich, denn so ein benutzerdefiniertes Feld auszuwählen und irgendwas als Wert einzutragen ist wirklich wenig Arbeit für die große Freiheit auf der Startseite.
ichitaka
17.10.08 um 12:57Wow super artikel, danke! Ich wünschte mir nur noch wie man das ganze mehr Magazin ähnlich machen könnte.
ichitaka
17.10.08 um 20:36nochmal eine kurze frage, muss der Code der Wert sein?
texto
20.10.08 um 21:38Hi ichitaka ich war weg, daher dauerte die Antwort
du kannst jedes Wort als benutzerdefiniertes Feld erfinden, der Wert ist dann das wonach geordnet wird in diesem Fall, kann auch einfach 0 1 3 irgendwas sein, in dem Fall hier
all der Ausgabe code .. das meint the_content die Überschriften , halt alles was dargestellt werden sollte
schau dir dies in der index.php des default themes an , alles was zwischen if have post while have post the post und endwhile steht
lg