Description
SkyServers Order Raffle lets a WooCommerce shop run a prize raffle among the customers who ordered during a given period. Every eligible order is one entry. When registrations close, the list is frozen, the prizes are drawn on a clean full-screen page that you can film live, and the winners are published on any page with a shortcode.
How it works
- Create a raffle: set the period, the minimum order total, the eligible order statuses and the prizes, one per place, each with a name and an image from the media library.
- Use “Refresh participants” at any time to preview the eligible orders and the number of unique customers.
- When the period is over, use “Close registrations”. The list is frozen in the plugin’s own table, the settings are locked and the draw page is unlocked. If the period has not ended yet, you get a warning first.
- Open the draw page and draw the prizes. Publish the results with the shortcode.
- Email the winners from the raffle screen.
What it does
- One eligible WooCommerce order placed in the period is one entry. The participant is the billing email, guests included.
- Refunded, cancelled and failed orders are always excluded. You choose which other statuses count, and set a minimum order total (0 means any).
- One customer can win only one prize: after a win, all of that customer’s entries leave the urn.
- Close registrations to freeze the list. You can reopen registrations until the first prize is drawn.
- Draw page for administrators only (capability
manage_woocommerce): prizes are drawn from the last place up to the first. The winner is chosen on the server withrandom_int()and saved before the animation starts, so a refresh resumes exactly where it stopped. The page is sent uncached. - Public results with the
[skyor_results id="X"]shortcode: a podium card per prize with the winner’s masked name (for example “Jane D.”) and the order number, an “in progress” text before the draw, partial results while the draw runs, the rules link and the draw date. - Winner emails are sent manually, per winner or with “Notify all” for the winners not yet notified. Preview an email in a new tab, or use “Send a test email to me”. Emails and public texts use the site language.
- Claim instructions for the winner email are written once per raffle.
- CSV export of the frozen participant list and of the winners (UTF-8 with BOM, cells protected against spreadsheet formulas).
- Activity log per raffle: close, reopen, each draw, each notification, each export and duplication, with the user and the time.
- Duplicate a raffle from the list as a clean draft.
- Settings for all raffles on the raffle screen: excluded emails (for example a staff member who places phone orders) and a LiteSpeed Cache purge toggle.
- A Romanian translation is provided and is delivered as a language pack through translate.wordpress.org once the plugin is published; other languages can be added there.
Works with
- HPOS (high-performance order storage): orders are read through
wc_get_orders(). - LiteSpeed Cache: the toggle is shown only when the plugin is active. The cache is purged when a draw completes or when registrations are reopened.
- Any theme: the results are a shortcode you can place on any page.
Privacy
The frozen list stores the billing name, email, order number and order total of each participant, for that raffle only. The public page shows only masked names and order numbers. The plugin makes no external requests and has no tracking.
Installation
- Upload the plugin folder to
/wp-content/plugins/or install it from Plugins Add New. - Activate it. WooCommerce must be active.
- Go to WooCommerce Raffles and add a new raffle.
- Set the period, the minimum total, the order statuses, the rules link, the public texts and the prizes. Save, then use “Refresh participants” to preview who takes part.
- When registrations are over, use “Close registrations”, then open the draw page from the raffle screen.
- Add
[skyor_results id="X"]to a page, with X the raffle ID shown on the raffle screen.
FAQ
-
Can a customer win more than one prize?
-
No. A customer is identified by the billing email. After a win, all of that customer’s entries leave the urn, however many orders were placed.
-
Where do the winners appear?
-
Wherever you place the
[skyor_results id="X"]shortcode. It shows a podium card per prize with the winner’s masked name and the order number. Before the draw it shows an “in progress” text, and during the draw it shows the prizes drawn so far. -
What happens when I delete the plugin?
-
Deactivating keeps all data. Deleting the plugin from the Plugins screen removes its tables (entries, winners and activity log), the raffles and the plugin options.
-
Does it work with other cache plugins?
-
Partly. The draw page is sent with no-cache headers, and the results shortcode is plain page content. Automatic purge is built in for LiteSpeed Cache only. With another cache plugin, purge the page that holds the shortcode after the draw.
-
Are customer names shown publicly?
-
Only masked, for example “Jane D.”, together with the order number. Full names, emails and order totals are stored in the frozen list and shown to administrators only.
-
Can I film the draw live?
-
Yes. The draw page is a clean full-screen page for this purpose. Each winner is chosen and saved on the server before the animation plays, so refreshing the page never changes the result.
-
Can I change a raffle after closing registrations?
-
The settings are locked while registrations are closed. You can reopen registrations until the first prize is drawn.
-
Is the plugin translated?
-
A Romanian translation is provided and is delivered as a language pack through translate.wordpress.org once the plugin is published; other languages can be added there.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“SkyServers Order Raffle” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SkyServers Order Raffle” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- First public release.
- Raffles defined by period, minimum order total, eligible order statuses, rules link, public texts and prizes with images.
- One entry per eligible order, one prize per customer, with excluded emails.
- Refresh participants preview, close and reopen registrations, frozen participant list.
- Full-screen draw page for administrators, server-side winner selection with
random_int(), resumable draw, uncached. - Public results shortcode
[skyor_results id="X"]with masked names. - Manual winner emails: preview, test email, notify one winner or all pending winners.
- CSV export of participants and winners.
- Activity log per raffle.
- Duplicate a raffle as a clean draft.
- LiteSpeed Cache purge when a draw completes or registrations reopen.
- HPOS compatible.
- Romanian translation provided, delivered as a language pack through translate.wordpress.org.
