Title: SkyServers Order Raffle
Author: skyservers
Published: <strong>October 25, 2026</strong>
Last modified: October 25, 2026

---

Search plugins

![](https://ps.w.org/skyservers-order-raffle/assets/banner-772x250.png?rev=3765198)

![](https://ps.w.org/skyservers-order-raffle/assets/icon.svg?rev=3765198)

# SkyServers Order Raffle

 By [skyservers](https://profiles.wordpress.org/skyservers/)

[Download](https://downloads.wordpress.org/plugin/skyservers-order-raffle.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/skyservers-order-raffle/#description)
 * [Reviews](https://wordpress.org/plugins/skyservers-order-raffle/#reviews)
 *  [Installation](https://wordpress.org/plugins/skyservers-order-raffle/#installation)
 * [Development](https://wordpress.org/plugins/skyservers-order-raffle/#developers)

 [Support](https://wordpress.org/support/plugin/skyservers-order-raffle/)

## 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**

 1. 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.
 2. Use “Refresh participants” at any time to preview the eligible orders and the number
    of unique customers.
 3. 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.
 4. Open the draw page and draw the prizes. Publish the results with the shortcode.
 5. 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
   with `random_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

 1. Upload the plugin folder to `/wp-content/plugins/` or install it from Plugins  
    Add New.
 2. Activate it. WooCommerce must be active.
 3. Go to WooCommerce  Raffles and add a new raffle.
 4. 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.
 5. When registrations are over, use “Close registrations”, then open the draw page
    from the raffle screen.
 6. 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.

Contributors

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

[Translate “SkyServers Order Raffle” into your language.](https://translate.wordpress.org/projects/wp-plugins/skyservers-order-raffle)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/skyservers-order-raffle/),
check out the [SVN repository](https://plugins.svn.wordpress.org/skyservers-order-raffle/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/skyservers-order-raffle/)
by [RSS](https://plugins.trac.wordpress.org/log/skyservers-order-raffle/?limit=100&mode=stop_on_copy&format=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.

## Meta

 *  Version **1.0.0**
 *  Last updated **4 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [contest](https://wordpress.org/plugins/tags/contest/)[giveaway](https://wordpress.org/plugins/tags/giveaway/)
   [orders](https://wordpress.org/plugins/tags/orders/)[raffle](https://wordpress.org/plugins/tags/raffle/)
   [winners](https://wordpress.org/plugins/tags/winners/)
 *  [Advanced View](https://wordpress.org/plugins/skyservers-order-raffle/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/skyservers-order-raffle/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/skyservers-order-raffle/)