Как отфильтровать посты сразу по двум рейтингам?

Есть вот такие два фильтра. Первый забирает посты по массиву с их id второй по таксономии. Код выглядит так.

function all_reviews_filter_ajax()
{
	$arr_selected_supplements = $_POST['arr_selected_supplements'] ?? array();
	$arr_reviews_with_rating = $_POST['arr_reviews_with_rating'] ?? array();

	$posts_per_page = intval($_POST['posts_per_page']);
	$page = intval($_POST['page']);

	if (empty($arr_selected_supplements) && empty($arr_reviews_with_rating)) {
		$args = array(
			'post_status' => 'publish',
			'post_type' => 'reviews',
			'posts_per_page' => $posts_per_page,
			'paged' => $page,
		);
	} else {
		$args = array(
			'post_status' => 'publish',
			'post_type' => 'reviews',
			'posts_per_page' => -1,
		);
		if (is_array($arr_reviews_with_rating)) {
			global $r_5, $r_4, $r_3, $r_2;

			// Create a mapping array to associate values like "r_5" with the corresponding post IDs
			if (is_array($r_5) && is_array($r_4) && is_array($r_3) && is_array($r_2)) {
				$rating_mapping = array(
					'r_5' => array_keys($r_5),
					'r_4' => array_keys($r_4),
					'r_3' => array_keys($r_3),
					'r_2' => array_keys($r_2),
				);

				// Get post IDs based on selected values in $arr_reviews_with_rating
				$selected_ratings = array();
				foreach ($arr_reviews_with_rating as $value) {
					if (isset($rating_mapping[$value])) {
						$selected_ratings = array_merge($selected_ratings, $rating_mapping[$value]);
					}
				}

				if (!empty($selected_ratings)) {
					// This will filter posts that have matching ratings
					$args['post__in'] = $selected_ratings;

					error_log("Arr ids =" . print_r($selected_ratings, true));
				}
			} else {
				echo "not arrays";
			}
		}

		if (is_array($arr_selected_supplements)) {
			$arr_selected_supplements = array_map('intval', $arr_selected_supplements);
			$args['tax_query'] = array(
				'relation' => 'AND',
				array(
					'taxonomy' => 'supplement_type',
					'field' => 'id',
					'terms' => $arr_selected_supplements,
					'operator' => 'AND',
				),
			);
		}
	}

	$query = new WP_Query($args);

	if ($query->have_posts()) {
		while ($query->have_posts()) {
			$query->the_post();
			get_template_part('template-parts/review-item');
		}
	} else {
		echo "No results found.";
	}

	wp_die();
}

add_action('wp_ajax_all_reviews_filter', 'all_reviews_filter_ajax');
add_action('wp_ajax_nopriv_all_reviews_filter', 'all_reviews_filter_ajax');

По отдельности, они работают правильно. Но когда выбираються значения и с первого и со второго то посты не возвращаються. (Отрабатывает AND) Мне необходимо, чтобы, если они соответствуют хотя бы одному из условий (или обоим) выводился список из ВСЕХ постов.(без повторов) В документации есть про параметр 'relation' => 'OR' для таксономий... но как быть в этом случаии. Подскажите, пожалуйста ?

Заметки к вопросу:
BlackStar 2.6 лет назад

*атрибуты 'relation' => 'AND', и 'operator' => 'AND', пробовал уже от отчаянья добавлять... понимаю что они там лишнее