| 开发者 |
magepeopleteam
aamahin cseshafiul |
|---|---|
| 更新时间 | 2026年10月2日 14:57 |
| PHP版本: | 7.0 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL v2 or later |
| 版权网址: | 版权信息 |
tour-booking-manager.zip file from your computer.tour-booking-manager.zip.tour-booking-manager folder to your computer.tour-booking-manager folder to the /wp-content/plugins/ directory on your server.[travel-list]) to any page to display your tours.No longer. Travelly runs in two booking modes. In WooCommerce mode it uses the WooCommerce cart, checkout, and payment gateways, exactly as before. In Custom mode it uses its own checkout and order records with the built-in Offline Payment method, so tours, hotels, listings, and bookings all work with WooCommerce deactivated. Pick the mode under Tour Settings → Payments.
Under Tours → Tour Booking. That screen lists bookings from both engines — WooCommerce orders and built-in checkout orders — so you can change status, add order notes, and export to CSV from one place. Notes added to a WooCommerce booking are written into the real WooCommerce order notes, not a separate copy.
Yes, Travelly lets you sell tours and travel packages as their own product type, independent from regular WooCommerce products.
Every payment gateway supported by WooCommerce works with Travelly, including Stripe, PayPal, and many regional gateways.
Yes. Travelly is designed to work with any standard WordPress theme that supports WooCommerce.
Yes, Travelly includes hotel listing and hotel search shortcodes so you can manage both tours and hotel bookings from one plugin.
Yes, Travelly is multilingual-ready and works with WPML and Polylang.
Yes. When WooCommerce is active, visitors can add tours to a wishlist from any listing and review them under the Wishlist tab in My Account. Admins can see who wishlisted what from the Wishlist tab on the Tour List screen.
Yes, Travelly PRO adds PDF tickets, custom registration forms, automatic email confirmations, CSV attendee export, and recurring tours.
Use the WordPress.org support forum or submit a support ticket directly to the development team.
_ttbm_date / _ttbm_end_date). Without them, anything parsing the date — notably the PRO confirmation email's {tour_date} placeholder — printed the day the email was sent instead of the tour date./find/ as a plain-GET fallback for visitors without JavaScript.get_date() returns Y-m-d H:i for repeated tours and a bare Y-m-d for the others; the hero appended a time regardless, producing a value strtotime() rejects — which renders as "now".ttbm_pro_feature_badge_days filter (return 0 to switch markers off).ttbm_admin_modern.css was cache-busted by the plugin version rather than its own modification time, so edits stayed invisible until the next release.ttbm_timewise_slot_stock filter to supply a slot's stock from elsewhere, and ttbm_is_timewise_stock_enabled to override the per-tour switch.ttbm_admin_booking_list_statuses filter to restrict which order statuses the admin booking and attendee listings show (defaults to all).TTBM_Function::is_timewise_stock_enabled(), get_timewise_stock(), get_timewise_slot_availability() and get_timewise_sold().function_exists('WC') && WC()->something() guards short-circuit instead of fataling. Use TTBM_Global_Function::has_woocommerce() to branch on WooCommerce actually being active.ttbm_lazy_icon_picker filter — return false to render the icon picker inline again instead of loading it on first open.TTBM_Select_Icon_image::render_icon_picker_markup() renders the picker body, and the ttbm_icon_picker admin-ajax action serves it to the browser (nonce plus edit_posts).window.ttbmAutosaveHandlesSave is set by the tour editor auto-save module when it owns the save. Anything hooking the save buttons should stand down while it is true, rather than preparing or persisting the form a second time.ttbm_register_payment_gateways) that PRO extends with PayPal and Stripe.[ttbm-booking-confirmation] shortcode.[ttbm-tour-list] shortcode with a modern filter bar, "Showing X of Y" counter, and This Week / This Month / This Year tab filters that work together with Load More.ttbm_load_assets and ttbm_load_admin_assets).time(), so browser and CDN caches actually work.ttbm_list_render_cap (default 300) with client-side pagination.do_action('ttbm_after_ticket_price', $tour_id, $ticket_name, $tour_date) for injecting markup after a ticket price.apply_filters hook making booking availability overridable for non-WooCommerce checkouts.ttbm_register_payment_gateways action for registering custom standalone gateways.TTBM_Dependencies.[ttbm-customer-dashboard])