Как избавиться от перебронирования сайта проката авто - PullRequest
0 голосов
/ 05 мая 2019

У меня есть пункт проката автомобилей, где люди могут забронировать автомобиль для своих нужд, но проблема в том, что мои транспортные средства ограничены, поэтому после бронирования автомобиля я хочу показать оповещение в течение следующего 1 часа, так как он сразу же забронирован для моих клиентов.так как никто не может забронировать его снова в течение следующего 1 часа.Вот мой подход -

  • получение только сегодняшней информации о бронировании
  • проверка каждого автомобиля, забронирован он или нет
  • , если он забронирован, то посчитайте время и текущее бронированиевремя и сравните их, равно ли оно или меньше, чем 1 час.
  • , если оно возвращает истину, то показывает предупреждение

Теперь проблема в том, как я могу удалить этот MSG через 1 час?

любой пример кода будет высоко оценен.Спасибо

1 Ответ

0 голосов
/ 05 мая 2019

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

set_transient( $post_id . '_car_is_booked', true, HOUR_IN_SECONDS );

Вы установили переходный процесс для HOUR_IN_SECONDS, это специальная переменная WordPress, и через час она будет автоматически удалена из базы данных.Таким образом, чтобы найти наш автомобиль забронирован или нет, вы можете использовать функцию get_transient get_transient Docs .

// return false if option does not exists 
get_transient( $post_id . '_car_is_booked' );

И если transient для определенного идентификатора поста существует, это означает, что автомобиль забронирован менее часа назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...