meta_query с массивом как значение

Я пишу PHP, который позволяет пользователям моего сайта отправлять сообщения формы и запроса по их post_meta. Все работает отлично, за исключением одного, я использовал Advanced Custom Fields для создания post_meta, а ACF сохраняет метазначения как сериализованный массив. Мне нужно сохранить данные в этом формате, чтобы ACF мог предварительно заполнить пользовательские поля в панели администратора. Мне нужен способ сравнения массива значений (пользователь выбирает через флажки в форме) в сериализованный массив в базе данных. Первая часть моего запроса выглядит следующим образом: $ удобствами является массив значений флажка:

$the_query = new WP_Query( array( 'post_type' => 'listing', 'meta_query' => array( array( 'key' => 'distance', 'value' => $distance, 'type' => 'numeric', 'compare' => '<=' ), array( 'key' => 'amenities', 'value' => $amenities[0], 'compare' => 'LIKE' ), array( 'key' => 'amenities', 'value' => $amenities[1], 'compare' => 'LIKE' ), array( 'key' => 'amenities', 'value' => $amenities[2], 'compare' => 'LIKE' ) ) ) ); 

Единственный способ, с помощью которого я могу заставить запрос работать, – это запросить каждое возможное значение ($ удобствами [#]), которое пользователь мог ввести в эти флажки, но это, похоже, слишком громоздко для моей базы данных.

Solutions Collecting From Web of "meta_query с массивом как значение"

Я нашел способ создания пользовательского запроса, который проходит через отмеченные пользователем флажки, а затем динамически добавляет массив для этого значения в запрос. Таким образом, он проверяет, выбрано ли каждое значение в сериализованном массиве, а затем переходит к следующему. Работает намного более гладко, чем то, что я делал раньше.

 for ($i=0; $i< count($amenities); $i++) { $count = count($arrays); $arrays[$count] = array( 'key' => 'amenities', 'value' => $amenities[$i], 'compare' => 'LIKE' ); } $the_query = new WP_Query(array( 'post_type' => 'listing', 'post_status' => 'publish', 'category_name' => 'private_rental', 'meta_query' => $arrays ));