@denism300

Как реализовать хранение информации в мета-полях записи?

Есть кастомный тип "Объявления", у каждого объявления должны быть периоды доступности, недоступности, а также, когда объект забронирован. Таких периодов может быть сколько угодно.
При поиске и фильтрации должны отображаться объявления, которые доступны на указанные даты, т.е., по сути, достаточно проверить, попадают ли указанные в фильтре даты в диапазоны доступности.

Как лучше организовать запись данных периодов в мета-поля, чтобы можно было осуществлять отбор по ним?
На данный момент мне пришла в голову только такая идея:
1. три мета-поля для периода доступности, недоступности и забронированности, в которых хранится информация в виде сериализованных массивов - т.е., как оно по умолчанию работает в WP
2. при фильтрации все периоды игнорируются
3. в основном цикле массив доступности десериализуется и проверяются значения дат, установленные в фильтре, на попадание в массив. Если ок - выводим объявление, если нет - пропускаем.

Но у меня сомнения в эффективности и скорости работы такого подхода. Возможно, есть идеи лучше
  • Вопрос задан
  • 20 просмотров
Решения вопроса 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Лучшей идеей хранить такую информацию в отдельную таблицу с нормальными индексами, чтобы оно работало быстрее и простая ошибка при перезаписи не убила бы все данные
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы