[WordPress] 外掛分享: HDWebmobile Booking & Appointments

首頁 › 外掛目錄 › HDWebmobile Booking & Appointments
WordPress 外掛 HDWebmobile Booking & Appointments 的封面圖片
全新外掛
安裝啟用
—
尚無評分
剛更新
最後更新
—
問題解決
WordPress 6.9+ PHP 7.4+ v1.0.0 上架:2026-10-12

內容簡介

HDWebmobile Booking & Appointments 外掛能將任何簡單的 WooCommerce 產品轉換為可預訂的服務。客戶可以在產品頁面選擇可用的日期和時間,訂單完成後即確認預訂,並可在「我的帳戶」中查看或取消預訂。

【主要功能】
• 將簡單產品轉換為可預訂服務
• 可配置可用日期、時間區間及提前預約時間
• 每個時段的容量限制,避免重複預訂
• 訂單標記為完成後自動確認預訂
• 在「我的帳戶」中提供預訂查看與取消功能

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「HDWebmobile Booking & Appointments」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

HDWebmobile Booking & Appointments turns any simple WooCommerce product into a bookable service. Customers pick an available date and time slot on the product page; the booking is confirmed the moment their order completes, and they can view or cancel it later under My Account.
Security by design
A serious class of bug in booking tools is an “update my booking profile” endpoint that accepts a client-supplied field linking the booking record to a WordPress user id, with no check that it still points at the requester’s own account (an IDOR / mass-assignment flaw) — which can let a low-privileged customer reset the password of any WordPress user, including an administrator. This plugin closes that vulnerability class by construction:

A booking’s owner is written in exactly one place — at order completion, from the order’s own customer id — and never again. There is no “update booking” code path anywhere in this plugin that accepts a customer id, user id, or any similar field from a request.
This plugin never touches a WordPress password. There is no code path here that calls wp_set_password() or anything like it, at all — a customer’s password remains entirely WordPress core’s own Account Details screen.
A customer can only ever see or cancel their own bookings, scoped by their logged-in account at the database query itself — never by an id taken from the request.
Per-slot capacity is enforced with an atomic, race-condition-safe claim (a database uniqueness constraint), so two customers can never both be confirmed into the same slot beyond its configured capacity.

Key Features

Turn any simple product into a bookable service from its own Product Data > Booking tab
Configurable available days, time slots, lead time, and how many days ahead to offer
Per-slot capacity — a slot stops being offered once it’s full
Booking is confirmed automatically when the order is marked Completed
A “Bookings” tab under My Account to view and cancel upcoming bookings
If a slot fills up between add-to-cart and checkout, the order still completes normally and the admin is emailed to help reschedule — no booking is ever double-booked

Limitations (please read before installing)

Simple products only in this version — no variable-product support
No staff/resource assignment — a slot’s capacity is a single shared number, not per-staff-member
No calendar sync (Google Calendar, iCal, etc.) in this version

Enjoying this plugin?
If it helps your site, please consider leaving an honest review on WordPress.org — it helps other WordPress users find it. Found a problem or have an idea? Please open a support topic first so it can be fixed.
How to Use
1. Configure a bookable product
On a simple product’s “Booking” tab, check “Bookable service”, set available days, time slots (one per line), lead time, and capacity per slot.
2. Customer books
On the product page, the customer picks a date and time slot before adding to cart — exactly like any other WooCommerce purchase.
3. Booking confirmed
Once the order is marked Completed, the booking is confirmed and appears under the customer’s My Account > Bookings, where they can cancel it if needed.

延伸相關外掛

文章
Filter
Mastodon