Я создаю веб-сайт бронирования для своей студии йоги, используя WooCommerce-бронирование в Wordpress.
Я хотел бы ограничить каждого пользователя только одним бронированием в каждом временном интервале.Пример:
Наличие занятий йогой:
20 мест на занятие.
Понедельник: 9:00 и вторник: 10:00.
Если пользователь заказывает занятие в Mondat на 9 утра и пытается зарезервировать еще одно занятие йогой, в календаре должно быть доступно только время вторника на 10 утра.
Я попробовал используя функцию wc_bookings_get_user_bookings(), но она не работает. Пользователь по-прежнему может бронировать столько раз (в данном случае 20), сколько пожелает, на один и тот же временной интервал.
Вот моя функция:
add_filter('woocommerce_bookings_get_time_slots', 'restrict_user_to_one_booking_per_slot', 10, 4);
function restrict_user_to_one_booking_per_slot($available_time_slots, $from, $to, $bookable_product) {
// Get the current user ID
$user_id = get_current_user_id();
// If the user is not logged in, return the available slots as is
if (!$user_id) {
return $available_time_slots;
}
// Get all bookings for the current user
$user_bookings = wc_bookings_get_user_bookings($user_id);
// Loop through each of the user's bookings
foreach ($user_bookings as $user_booking) {
// Check if the booking is for the same product as the one being viewed
if ($user_booking->get_product_id() == $bookable_product->get_id()) {
// Get the start and end time of the existing booking
$booking_start_time = $user_booking->get_start_date();
$booking_end_time = $user_booking->get_end_date();
// Loop through the available time slots and unset the ones that overlap
foreach ($available_time_slots as $key => $slot) {
// Check if the slot is within the range of the existing booking
if ($slot['from'] >= $booking_start_time && $slot['from']
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-bookings
Ограничить пользователей одним бронированием за временной интервал в WooCommerce Bookings. ⇐ Php
Кемеровские программисты php общаются здесь
1727371698
Anonymous
Я создаю веб-сайт бронирования для своей студии йоги, используя WooCommerce-бронирование в Wordpress.
Я хотел бы ограничить каждого пользователя только одним бронированием в каждом временном интервале.Пример:
Наличие занятий йогой:
20 мест на занятие.
Понедельник: 9:00 и вторник: 10:00.
Если пользователь заказывает занятие в Mondat на 9 утра и пытается зарезервировать еще одно занятие йогой, в календаре должно быть доступно только время вторника на 10 утра.
Я попробовал используя функцию wc_bookings_get_user_bookings(), но она не работает. Пользователь по-прежнему может бронировать столько раз (в данном случае 20), сколько пожелает, на один и тот же временной интервал.
Вот моя функция:
add_filter('woocommerce_bookings_get_time_slots', 'restrict_user_to_one_booking_per_slot', 10, 4);
function restrict_user_to_one_booking_per_slot($available_time_slots, $from, $to, $bookable_product) {
// Get the current user ID
$user_id = get_current_user_id();
// If the user is not logged in, return the available slots as is
if (!$user_id) {
return $available_time_slots;
}
// Get all bookings for the current user
$user_bookings = wc_bookings_get_user_bookings($user_id);
// Loop through each of the user's bookings
foreach ($user_bookings as $user_booking) {
// Check if the booking is for the same product as the one being viewed
if ($user_booking->get_product_id() == $bookable_product->get_id()) {
// Get the start and end time of the existing booking
$booking_start_time = $user_booking->get_start_date();
$booking_end_time = $user_booking->get_end_date();
// Loop through the available time slots and unset the ones that overlap
foreach ($available_time_slots as $key => $slot) {
// Check if the slot is within the range of the existing booking
if ($slot['from'] >= $booking_start_time && $slot['from']
Подробнее здесь: [url]https://stackoverflow.com/questions/79028017/restrict-users-to-one-booking-per-time-slot-in-woocommerce-bookings[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия