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, то значения
насколько помню игнорируется