meta_query in WP_query mit der Beziehung “OR” akzeptiert nicht mehr als zwei zu vergleichende Arrays

Ich muss den nächsten Post zum heutigen Datum bekommen, aber ich kann mich nicht auf das veröffentlichte Datum verlassen, deshalb füge ich zu Posts benutzerdefinierte Felder mit Slugs hinzu: “koncert-rok”, “koncert-miesiac” und “koncert-day”, die sind nur Zahlen, die dem Tag des Ereignisses usw. entsprechen.

Also dachte ich, ich mache WP_query mit meta_query mit Schritten:

(check if day of event is > than today's day AND check if month is = to today's month AND check if year is = to today's year) OR (check if day of event is >= 1 AND month is > to today's month AND year is = to today's year) OR (check if day of event is >= 1 AND month is >= 1 AND year is > to today's year) 

Und ich habe WP_query mit Argumenten wie folgt:

 $argsi = array( 'numberposts' => 1, 'post_type' => 'koncerty', 'post_status' => 'publish', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_query' => array( 'relation' => 'OR', array( 'relation'=>'AND', array( 'key' => 'koncert-dzien', 'value' => $day, 'type' => 'NUMERIC', 'compare' => '>=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '=' ), array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ) ), array( 'relation' => 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '>' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) ), array( 'relation'=> 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '>' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) ) ) ); 

aber die website lädt und lädt, am ende habe ich errors 500 bekommen.

ABER wenn ich meinen Code zu diesem gekürzt habe:

  $argsi = array( 'numberposts' => 1, 'post_type' => 'koncerty', 'post_status' => 'publish', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_query' => array( 'relation' => 'OR', array( 'relation'=>'AND', array( 'key' => 'koncert-dzien', 'value' => $day, 'type' => 'NUMERIC', 'compare' => '>=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '=' ), array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ) ), array( 'relation' => 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '>' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) )/*, array( 'relation'=> 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '>' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) )*/ ) ); 

Es funktioniert, außer dass es die Ereignisse im nächsten Jahr nicht zeigt.

Solutions Collecting From Web of "meta_query in WP_query mit der Beziehung “OR” akzeptiert nicht mehr als zwei zu vergleichende Arrays"