Ich verwende meta_query von WordPress, um zu versuchen, ein grundlegendes Ereignissystem zu erstellen.
Jedes Ereignis hat eine Reihe von Meta-Schlüsseln/-Werten. Zum Beispiel:
Start Date
End Date
Ongoing (Yes/No)
Ich möchte laufende Ereignisse (laufend = Ja) und nicht laufende Ereignisse (laufend = Nein) trennen.
Dann möchte ich innerhalb meiner laufenden Ereignisse folgende Ereignisse trennen:
- Beginn innerhalb von zwei Wochen ODER Ende innerhalb von zwei Wochen
- Bereits begonnen UND endet nach zwei Wochen
Mein Problem liegt in Fall 1 das heißt im wesentlichen:
(Start Date <= Two Weeks OR End Date <= Two Weeks) AND Ongoing == YES
Mit WP_Query habe ich Folgendes:
$ongoingSoon = array(
'category_name' => 'event',
'meta_key' => 'End Date',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'Start Date',
'value' => $today,
'compare' => '>='
),
array(
'key' => 'End Date',
'value' => $nexttwoweeks,
'compare' => '<='
),
array(
'key' => 'Ongoing',
'value' => 'Yes'
)
)
);
Was nur zurückkehrt Laufend Ereignisse, die beginnen UND AUCH Ende innerhalb der nächsten zwei Wochen. Ändere ich die Beziehung zu ODER, dann zeigt es auch Ereignisse an, die nicht im Gange sind. Gibt es eine Möglichkeit, das zu erreichen, was ich brauche?