Title: Appointment SW
Author: ablancodev
Published: <strong>2016 年 6 月 6 日</strong>
Last modified: 2026 年 6 月 11 日

---

搜索插件

![](https://ps.w.org/appointmentsw/assets/banner-772x250.png?rev=1431618)

![](https://ps.w.org/appointmentsw/assets/icon-256x256.png?rev=1431610)

# Appointment SW

 作者：[ablancodev](https://profiles.wordpress.org/eggemplo/)

[下载](https://downloads.wordpress.org/plugin/appointmentsw.2.0.0.zip)

 * [详情](https://cn.wordpress.org/plugins/appointmentsw/#description)
 * [评价](https://cn.wordpress.org/plugins/appointmentsw/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/appointmentsw/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/appointmentsw/#developers)

 [支持](https://wordpress.org/support/plugin/appointmentsw/)

## 描述

Appointment SW lets visitors book appointments from any page on your site. You configure
as many working windows per day as you need, block holidays, optionally allow guest
bookings, and Appointment SW takes care of slot availability, email notifications
and capability checks.

Version 2.0 is a deep modernisation of the original plugin while keeping every shortcode,
option and database table from 1.x in working order. Existing sites can update without
re-doing setup.

#### What’s new in 2.0

 * Modern booking flow: clicking a free slot opens a confirmation modal — no more
   page reloads to advance the booking.
 * Admin booking modal with live client search and an inline “Add client” button,
   so receptionists can book a brand new client without leaving the calendar.
 * Arbitrary number of time windows per day (not just two).
 * Server-rendered Settings page using the WordPress Settings API, with an onboarding
   section that creates the shortcode pages for you in one click.
 * Public REST API under `/wp-json/appointmentsw/v1/` for availability, bookings,
   holidays, settings, and user search.
 * Capability-based permissions: `appointmentsw_manage` (administer) and `appointmentsw_book`(
   book a slot).
 * Prepared statements across every database query, plus new indexes on bookings,
   bookmeta and holidays for faster lookups on busy calendars.
 * Hardened request dispatcher: strict capability checks, sanitized input and escaped
   output throughout.
 * Filterable email templates via `appointmentsw/email/{event}/{audience}/{subject
   |body}`.
 * Optional WooCommerce integration is now a separate companion plugin so this core
   stays lean.

#### Shortcodes

 * `[appointmentsw_form]` — booking form for visitors.
 * `[appointmentsw_myaccount]` — logged-in user appointments (view and cancel).
 * `[appointmentsw_admin]` — frontend admin calendar with client search and one-
   click client creation.
 * `[appointmentsw_vacations]` — block holidays from the frontend.

#### Backwards compatibility

All 1.x shortcodes keep rendering, bundled Bootstrap 3 assets are still enqueued
so existing theme overrides keep working, the legacy `core/` classes remain loaded,
and legacy options (`asw-guest`, `asw-duration`, `asw-numdays`, `asw-maxoffset`,`
asw-start_time_*`, `asw-end_time_*`) are migrated transparently into the new `appointmentsw_settings`
option the first time the new code reads them.

## 屏幕截图

[⌊Booking form with the new confirmation modal.⌉⌊Booking form with the new confirmation
modal.⌉[

Booking form with the new confirmation modal.

[⌊Admin calendar with live client search and inline Add client button.⌉⌊Admin calendar
with live client search and inline Add client button.⌉[

Admin calendar with live client search and inline _Add client_ button.

[⌊Settings page with arbitrary time windows.⌉⌊Settings page with arbitrary time 
windows.⌉[

Settings page with arbitrary time windows.

[⌊Frontend pages section: one-click create for every shortcode.⌉⌊Frontend pages 
section: one-click create for every shortcode.⌉[

Frontend pages section: one-click create for every shortcode.

[⌊My appointments view for logged-in users.⌉⌊My appointments view for logged-in 
users.⌉[

My appointments view for logged-in users.

[[

[[

[[

[[

## 安装

 1. Upload or extract the `appointmentsw` folder into `/wp-content/plugins/`, or install
    from the WordPress.org plugin directory.
 2. Activate from the _Plugins_ menu.
 3. Go to _Appointment SW  Settings_ to configure duration, working time windows, guest
    bookings and the admin notification email.
 4. In the same screen, scroll down to _Frontend pages_ and click _Create page_ next
    to each shortcode you want available. The plugin creates a published page containing
    the shortcode and remembers the assignment.

That’s it. Visitors can now book from the booking page, and you can manage everything
from _[appointmentsw\_admin]_ without ever leaving the calendar.

## 常见问题

### Will the 2.0 update break my existing site?

No. Every shortcode, legacy option and database table is preserved. The bundled 
Bootstrap 3 assets stay enqueued, so any theme customisation built on those classes
keeps rendering. We test new installs and 1.3 upgrades side by side before each 
release.

### How do administrators book an appointment on behalf of a client?

Place `[appointmentsw_admin]` on a page (the _Frontend pages_ section in Settings
does this for you). Click a free slot to open the booking modal, type the first 
letters of the client’s name or email in the search box, pick them and confirm. 
If you need a brand new client, click _+ Add client_ in the calendar toolbar and
create them inline — they appear in the search instantly.

### Can guests book without an account?

Yes. Enable _Allow guest bookings_ in Settings. Guests will be asked for name and
email in the booking modal.

### Where do I find the REST API?

Under `/wp-json/appointmentsw/v1/`. Routes: `availability`, `bookings` (`GET|POST
|DELETE`), `holidays` (`GET|POST|DELETE`), `settings` (`GET|POST`), `users/search`
and `users` (manage capability required).

### How are bookings notified?

The plugin sends an HTML email to the booking user and a notification to the admin(
configurable in Settings). Subject and body of every notification are filterable:`
appointmentsw/email/created/user/subject`, `appointmentsw/email/created/user/body`,
and the equivalents for `canceled` and `admin`.

### I customised the bundled Bootstrap 3 classes in my theme. Should I worry?

No. Bootstrap 3 is still bundled in 2.0 to avoid breaking themes that rely on its
classes. We may opt-deprecate it in a future major release but with plenty of warning.

### How do I uninstall and remove all data?

Set the option `appointmentsw_delete_data_on_uninstall` to `true` before deleting
the plugin. Without that opt-in, Appointment SW keeps your bookings, holidays and
settings on uninstall.

## 评价

此插件暂无评价。

## 贡献者及开发者

「Appointment SW」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ ablancodev ](https://profiles.wordpress.org/eggemplo/)

[帮助将「Appointment SW」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/appointmentsw)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/appointmentsw/)，查看
[SVN仓库](https://plugins.svn.wordpress.org/appointmentsw/)，或通过[RSS](https://plugins.trac.wordpress.org/log/appointmentsw/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/appointmentsw/)。

## 更新日志

#### 2.0.0

 * Settings: server-rendered Settings page (Settings API) with support for an arbitrary
   number of working time windows per day.
 * Onboarding: _Frontend pages_ section that creates and assigns the shortcode pages
   in one click.
 * Booking flow: modal confirmation replaces the multi-step page reload. Reservations
   now go through the REST API.
 * Admin booking flow: modal with live user search (debounced) and inline client
   creation directly from the calendar toolbar.
 * Capabilities: introduced `appointmentsw_manage` and `appointmentsw_book`, granted
   automatically to existing roles on activation.
 * REST API v1 under `/wp-json/appointmentsw/v1/` with availability, bookings, holidays,
   settings and users endpoints.
 * Database: new indexes (`status_datetime`, `user_id`, `book_id` in bookmeta, `
   date` in holidays), `created_at`/`updated_at` audit columns, rebuilt bookmeta
   primary key to allow multiple meta values per booking.
 * Security: hardened legacy request dispatcher with strict capability checks, sanitisation
   and escaped output everywhere.
 * Bugfixes carried over from 1.x: corrected `meta_key` placeholder type, fixed 
   malformed placeholders in holidays SQL and `WHERE … IN (%d)` queries, removed
   double-quoted placeholders in `prepare`, replaced direct `$_REQUEST['user_email']`
   access with sanitised input.
 * Compatibility: Bootstrap 3 still bundled; legacy shortcodes preserved as-is; 
   legacy `asw-*` options migrated on first read.

#### 1.3

 * WordPress 6.4.3 compatible.
 * Bundled Bootstrap updated.

#### 1.2

 * Added dashboard Pages section.
 * Added dashboard Appointments section.
 * Added `[appointmentsw_vacations]` shortcode.

#### 1.1

 * Added the option to make an appointment without being registered.

#### 1.0

 * Initial release.

## 额外信息

 *  版本 **2.0.0**
 *  最后更新：**2 周前**
 *  活跃安装数量 **10+**
 *  WordPress 版本 ** 6.4 或更高版本 **
 *  已测试的最高版本为 **7.0**
 *  PHP 版本 ** 7.4 或更高版本 **
 *  语言
 * [English (US)](https://wordpress.org/plugins/appointmentsw/)
 * 标签
 * [appointments](https://cn.wordpress.org/plugins/tags/appointments/)[booking](https://cn.wordpress.org/plugins/tags/booking/)
   [calendar](https://cn.wordpress.org/plugins/tags/calendar/)[reservations](https://cn.wordpress.org/plugins/tags/reservations/)
   [scheduler](https://cn.wordpress.org/plugins/tags/scheduler/)
 *  [高级视图](https://cn.wordpress.org/plugins/appointmentsw/advanced/)

## 评级

尚未提交反馈。

[Your review](https://wordpress.org/support/plugin/appointmentsw/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/appointmentsw/reviews/)

## 贡献者

 *   [ ablancodev ](https://profiles.wordpress.org/eggemplo/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/appointmentsw/)

## 捐助

您愿意支持这个插件的发展吗?

 [ 捐助此插件 ](https://www.growthplugins.com)