| 开发者 | krasimirignatov |
|---|---|
| 更新时间 | 2026年7月13日 02:25 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[bookvatio] — appointment booking for nail studios, yoga, massage, wellness, beauty salons[bookvatio-rooms] — accommodation booking for guest houses, vacation rentals, small hotels[booknest] and [booknest-rooms] shortcodes are still registered as aliases so existing pages keep rendering after upgrade.)
No payment processing, no SMS — just clean, focused email-based bookings with a beautiful warm earthy design that you can fully customize from the admin.
Core Features
BookNest_*), database table names (wp_booknest_*), option keys (booknest_*), filter/action names, and the REST API namespace (booknest/v1) intentionally use the legacy booknest prefix. This preserves settings and bookings for users upgrading from earlier internal versions. The public plugin name, text domain, and primary shortcodes ([bookvatio] / [bookvatio-rooms]) use bookvatio. The old [booknest] shortcodes are registered as aliases so saved pages keep working.
Privacy
Bookvatio does not phone home, include analytics, or load external assets on the public site. All fonts (DM Sans and Fraunces) are bundled with the plugin and served from your own server. See the "External services" section below for the optional Google Calendar integration.
Trademarks
Google and Google Calendar are trademarks of Google LLC. This plugin is not affiliated with, endorsed by, or sponsored by Google.
[bookvatio] to any page for appointments, or [bookvatio-rooms] for rooms (the legacy [booknest] / [booknest-rooms] shortcodes also still work)No. Bookvatio is a "pay on arrival / pay on site" booking system. Payment processing is intentionally out of scope for version 1.
Yes. Every customer-facing label is editable directly in the admin under Labels & Language. The plugin also ships with a .pot file for theme-level translation tools like Loco Translate.
Use [bookvatio] for appointments and [bookvatio-rooms] for room reservations. The legacy [booknest] and [booknest-rooms] are still registered as aliases so any page saved before the rename keeps working — you do not need to edit existing content.
It's a one-way sync: bookings created in Bookvatio are pushed to the assigned staff member's Google Calendar. You bring your own Google Cloud OAuth credentials (the plugin does not proxy anything through our servers). Setup takes about 5 minutes.
No. The admin panel ships with a pre-built JavaScript bundle.
POST /bookings/bulk and POST /room-bookings/bulk (admin-only, max 500 ids per request).booknest_booking_pre_submit_validate, booknest_booking_submit_data, booknest_booking_created — with type 'room'), giving add-ons full parity across both booking flows.booknest_email_pay_note filter lets add-ons replace (or remove) the payment note in client confirmation emails — e.g. showing "Paid online" instead of "Payment on site" after a completed online payment. No behavior change without an add-on using it.window.BookNestAdmin.registerTab('rooms', …) — previously only the Appointments page consumed the registry.booknest:step-rendered extension event as the appointment flow (with type: 'rooms' in the event detail), giving add-ons parity across both flows. No behavior change without an add-on listening.booknest_booking_submit_response (filter the successful submit response), booknest_send_submit_emails (defer notifications), and frontend support for a redirect_url key in the submit response. No behavior change without an add-on using them.wp_mail_content_type filter not being removed after sending, which could force other plugins' plain-text emails to HTML within the same request.wp_register_style() / wp_register_script() and enqueued with wp_enqueue_style() / wp_enqueue_script(). The <link> and <script> tags themselves are emitted by wp_print_styles() / wp_print_scripts() (captured via output buffering and inserted in the response) — no hand-written <link rel="stylesheet"> or <script src> tags remain in the response.padding: 10px 12px override padding-left: 42px and made the leading icons in the Full Name / Email fields overlap with the input text. All five rule groups now match the base-rule specificity so the icon padding, focus border, placeholder color, autofill background, and phone wrap layout are preserved against theme overrides.input elements via a :not([type="button"]):not([type="submit"]) selector. The plugin's own input rule now uses the same selector pattern to match their specificity, so customer-facing forms keep their colors, padding, and borders regardless of the active theme's global form styles.%i identifier placeholder in $wpdb->prepare(), introduced in WP 6.2 (April 2023).$wpdb->prepare() as an %i placeholder, instead of string-concatenating the result of BookNest_DB::table_*() into the SQL. Behavior is identical; the query construction is now obviously safe to any static analyzer. Removed the file-level phpcs:disable WordPress.DB.PreparedSQL.* suppressions that previously documented the safety case — they're no longer needed.<style> or <script> tags. Page styling moved to public/css/google-callback.css (loaded via <link>) and behavior moved to public/js/google-callback.js (loaded via <script src>). Success state is communicated through a data attribute on <body>.booknest_css_vars) now sanitizes all color values via sanitize_hex_color() with safe defaults, replacing the previous esc_attr() calls. Prevents any non-hex string from leaking into the generated stylesheet.1 свободен / 2+ свободни, 1 зает / 2+ заети. English unchanged ("1 free" / "2 free" stay identical). Added freeWordSingular and bookedWordSingular label fields for translators.dashicons-calendar-alt (no more bundled PNG)[bookvatio] / [bookvatio-rooms] shortcodes in the copy-paste shortcut bar and settings panels[bookvatio] / [bookvatio-rooms] (legacy [booknest] shortcodes still registered as aliases)[booknest-rooms]