Hallo,
Habe mir ein wp_query gebastelt, der auch soweit das erwartete Ergebnis liefert, aber ziemlich langsam ist (teilweise dauert die Abfrage 4-5 s)
Der Query sieht so aus:
Code
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'seminars',
'posts_per_page' => $sem_per_page,
'meta_key' => 'startdatum',
'orderby' => 'meta_value',
'order' => 'ASC',
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'seminar_category',
'field' => 'slug',
'terms' => $tax_query,
),
),
'meta_query' => array(
'relation' => 'OR',
array(
'relation' => 'AND',
array(
'key' => 'enddatum',
'value' => date("Ymd"),
'type' => 'DATE',
'compare' => '>=',
),
array(
'key' => 'seminar_show',
'value' => 'seminar_hide',
'compare' => '!=',
),
),
array(
'relation' => 'AND',
array(
'key' => 'seminar_show',
'value' => 'seminar_show_always',
'compare' => '=',
),
array(
'key' => 'end_show_always',
'value' => date("Ymd"),
'type' => 'DATE',
'compare' => '>=',
),
),
),
);
$sem_query = new WP_Query( $args );
Alles anzeigen
Ich benötige für meine Abfrage bei den meta_querys 2x den key seminar_show, sobald ich einen davon rausnehme, ist das Abfrage-Ergebnis sofort da, weshalb ich den Verdacht habe, daß es an der doppelten key-Definition liegt.
Gibt es dafür irgendeine Abhilfe oder ist vielleicht an meinen meta-querys grundsätzlich was falsch oder unsauber?
Die keys enddatum und end_show_always sind ACF-Datumfelder, seminar_show ist ein Auswahlfeld als Radio-Buttons mit 3 Optionen.