| 开发者 |
Saso Nikolov
sasonikolov |
|---|---|
| 更新时间 | 2026年10月28日 18:58 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv3 |
| 版权网址: | 版权信息 |
No. Everything is included — no additional ticketing add-ons required. The built-in checkout (premium) handles payments and orders on its own.
Yes. The Kasse (direct sales) and the online shop (premium) sell tickets with their own checkout — no WooCommerce needed. And if you already run a WooCommerce store, the plugin supports it as fully as ever.
Yes! Premium includes Auth Tokens that give your door staff scanner access via a simple URL — no login required.
By default the scanner validates live against your site (it is browser-based and built for speed: rapid scans are queued automatically, so nothing gets lost while a result is still on screen, and the app is an installable PWA). Premium adds true offline scanning: enable it on the scanner's auth token, choose which ticket lists get preloaded, and your door team keeps scanning when the venue network drops — scans are validated locally, queued, and synced automatically once the connection returns, with conflict reports when two scanners hit the same ticket.
Yes. Design your venue layout with the drag & drop seating designer, and customers will see an interactive seat map during checkout where they can pick available seats.
Single entry, multi-entry passes, family tickets (multiple tickets per purchase), memberships with expiration dates, and day-chooser tickets where customers pick their event date.
In the free version, the order confirmation email includes a link to download the ticket PDF and view the QR code. Premium allows attaching the PDF directly to the email and adding calendar invites (ICS).
The ticket is automatically deactivated, the assigned seat is released, and the ticket number is recovered for reuse.
Yes. WPML is supported for multilingual ticket sales. The plugin also ships translations for German, Spanish, French, Italian, Hungarian, Japanese, Dutch, Portuguese, and Chinese.
The free version supports up to 50 tickets. If you reach the limit, the plugin shows a notice in the admin area (your customers are never blocked from purchasing). Premium removes the limit entirely.
Yes. The built-in scanner page accepts input from hardware barcode scanners in addition to camera-based QR scanning.
Every ticket number is unique. The scanner detects duplicate redemption attempts. Premium adds CVV verification and brute-force IP blocking for additional security.
It's a private event portal you can attach to a ticket product — organized into pages (start page, speakers, programme, downloads, sponsors, etc.) with text, schedules, files, image galleries and embedded videos. Ticket holders open it directly via their ticket, no separate account needed. You can password-protect individual sections, control when the portal opens and how long it stays available, and the page works offline as a mini PWA. It's included in the free version; build it under the Congresses menu and assign it in the product's Event Tickets tab.
tickets_702394.pdf) on every browser, not just most. Some browser-security-plugin combinations used to ignore the inline download and fall back to the request URL as the filename (e.g. admin-ajax.php.pdf). The PDF now carries an explicit attachment header that the browser must honor.eval(data) call after $.getScript() in the seating-admin loader (backend.js, _displaySeatingplanArea, line 1288). $.getScript() already executes the loaded script; the extra eval ran every byte of the response through the JS engine again. CWE-95 — a server-side change to js/seating_admin.js would have given code-injection on every admin page that opens the seating-plan area. No callers, no behaviour change beyond the redundant execute.random_bytes) instead of a hash of the current time (md5(time() ...)). The old values were predictable: two codes created in the same second shared their time component, so anyone who knew roughly when a ticket was issued could narrow the guessing range dramatically. CWE-338. Five generators were changed — the ticket code and the code-list lock in the WooCommerce assignment path, the per-list and per-order idcode, and the ticket-scanner auth token. The printed format is unchanged (same length and character set), existing tickets and tokens keep working, and no migration is needed.?page=sasoEventTickets). Following them produced "Sorry, you are not allowed to access this page." The links now use the correct page slug so the seating tab opens as expected.…/ticket/{ticket-id}?congress, query fallback …/?code={ticket-id}&congress), so it is compatibility-mode aware and never collides with shop page slugs.congress_url in the Wallet API response — the Wallet app shows an "Open congress" button when the product is assigned to an active congress.wp_kses_post() — no JavaScript allowed in congress content; video embeds are generated server-side via WordPress oEmbed.actions array (future content types reuse it) instead of the single congress_url field.