Ich möchte gerne Tourdaten von verschiedenen Bands mit Wordpress verwalten und ausgeben.
Zum einen soll es eine Seite geben „Touren“, die alle zukünftigen Tourdaten sortiert nach Bands ausgibt.
Dann sollen auf der jeweiligen Bandseite die nächsten 5 Termine der Band angezeigt werden.
Zusätzlich soll auf der Startseite die nächsten 10 Termine insgesamt angezeigt werden, also unabhängig von der Band.
Seite „Touren“
Band 1
22.02.2016 Stadtname Clubname
23.02.2016 Stadtname Clubname
24.02.2016 Stadtname Clubname
25.02.2016 Stadtname Clubname
26.02.2016 Stadtname Clubname
…
Band 2
22.01.2016 Stadtname Clubname
30.01.2016 Stadtname Clubname
21.03.2016 Stadtname Clubname
02.04.2016 Stadtname Clubname
…
Band 3
22.03.2016 Stadtname Clubname
23.03.2016 Stadtname Clubname
24.03.2016 Stadtname Clubname
25.03.2016 Stadtname Clubname
26.03.2016 Stadtname Clubname
…
Seite „Band1“
Die nächsten Termine:
22.02.2016 Stadtname Clubname
23.02.2016 Stadtname Clubname
24.02.2016 Stadtname Clubname
25.02.2016 Stadtname Clubname
26.02.2016 Stadtname Clubname
Seite „Startseite“
22.01.2016 Band 2 Stadtname
30.01.2016 Band 2 Stadtname
22.02.2016 Band 1 Stadtname
23.02.2016 Band 1 Stadtname
24.02.2016 Band 1 Stadtname
Dazu habe ich mit Advanced Custom Fields eine Feldgruppe „Tourtermin“ erstellt mit den Feldern „Datum“, „Stadt“, „Clubname“ etc. sowie einem Feld „Band“ vom Typ „Artikel-Beziehung“. Hier kann man dann eine entsprechende Post-Kategorie (Bandnamen) wählen.
Zusätzlich habe ich nen Custom Post Type „tourdaten“ angelegt. Die Custom Field Felder werden eben beim Anlegen eines Beitrags mit diesem Post Type geladen.
Mir fehlt es irgendwie noch am Know-How die richtigen Queries zu schreiben. Denke, dass meine Vorgehensweise so Sinn macht, aber ich bekomme es einfach nicht fertig…
Was ich bisher habe ist ein Ansatz für die Seite „Touren“:
<?php
// get posts
$posts = get_posts(array(
'post_type' => 'tourdaten',
'posts_per_page' => -1,
'meta_key' => 'datum',
'orderby' => 'meta_value_num',
'order' => 'ASC'
));
if( $posts ): ?>
<table>
<?php foreach( $posts as $post ):
setup_postdata( $post )
?>
<tr>
<td><?php the_field('datum'); ?></td>
<td><?php the_field('land'); ?></td>
<td><?php the_field('stadt'); ?></td>
<td><?php the_field('location'); ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
Alles anzeigen
Damit werden mir zumindest schonmal die eingetragenen Datensätze ausgegeben:
20160206 DE Essen testlocation
20160213 DE Magdeburg testlocation
20160611 DE München testlocation
20160709 DE Münster testlocation
Könnte mir jemand helfen die Queries so zu gestalten, dass die Ausgaben wie oben auf den jeweiligen Seiten erscheinen?
Bekomme es einfach nicht hin. Speziell das Auslesen des Kategorie-Names, also der Bandname und die Sortierung nach diesem gemäß meiner Wunschausgabe von oben.
Freue mich über Tipps!
Liebe Grüße
Fabi