Meta query with ACF Repeater Issue
Есть запрос и он не работает:
$args = array( 'post_type' => 'matches', 'posts_per_page' => 25, 'tax_query' => [ [ 'taxonomy' => $taxonomy_name, 'field' => 'id', 'terms' => get_term_by('id', $tax, $taxonomy_name) -> term_id, ] ], 'meta_query' => array( 'relation' => 'AND', array( 'relation' => 'OR', array( 'key' => 'result_maps_1_map', 'compare' => 'LIKE', 'value' => $maps_id, ), array( 'key' => 'result_maps_2_map', 'compare' => 'LIKE', 'value' => $maps_id, ), array( 'key' => 'result_maps_3_map', 'compare' => 'LIKE', 'value' => $maps_id, ), array( 'key' => 'result_maps_0_map', 'compare' => 'LIKE', 'value' => $maps_id, ) ), array( array( 'relation' => 'OR', array( 'key' => 'match_first_team', 'value' => '' . $post_id . '', 'compare' => '=' ), array( 'key' => 'match_second_team', 'value' => '' . $post_id . '', 'compare' => '=' ), ), array( 'key' => 'result_match_end', 'value' => true, 'compare' => '=', ), array( 'key' => 'match_date', 'value' => $today, 'type' => 'DATETIME', 'compare' => '<=' ) ), ), 'meta_key' => 'match_date', 'meta_type' => 'DATETIME', 'orderby' => 'meta_value', 'order' => 'DESC', 'paged' => $paged ); $query = new WP_Query( $args );
Но если убрать строку часть:
array( 'relation' => 'OR', array( 'key' => 'result_maps_1_map', 'compare' => 'LIKE', 'value' => $maps_id, ), array( 'key' => 'result_maps_2_map', 'compare' => 'LIKE', 'value' => $maps_id, ), array( 'key' => 'result_maps_3_map', 'compare' => 'LIKE', 'value' => $maps_id, ), array( 'key' => 'result_maps_0_map', 'compare' => 'LIKE', 'value' => $maps_id, ) ),
или
array( 'relation' => 'OR', array( 'key' => 'match_first_team', 'value' => '' . $post_id . '', 'compare' => '=' ), array( 'key' => 'match_second_team', 'value' => '' . $post_id . '', 'compare' => '=' ), ),
Он работает, хотя по логике там стоит relation => and и когда и то и то работает он должен бы работать также, или я ошибаюсь?
Скорее всего ошибаетесь, relation => and означает что будет проверяться полное условие, когда и ключ result_maps_2_map содержит $maps_id и ключ result_maps_3_map и тд
Ну и второе, если используется meta_query, то значения
насколько помню игнорируется