{"id":321709,"date":"2026-08-07T19:19:17","date_gmt":"2026-08-07T19:19:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/raffly-raffles-for-woocommerce\/"},"modified":"2026-08-07T19:18:53","modified_gmt":"2026-08-07T19:18:53","slug":"luckyflow-raffles","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/luckyflow-raffles\/","author":18451564,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"LuckyFlow - Raffles for WooCommerce","header_author":"racmanuel","header_description":"Run ticket-based raffles and competitions in WooCommerce with manual number selection, automatic ticket management, and winner selection.","assets_banners_color":"63866d","last_updated":"2026-08-07 19:18:53","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/racmanuel.dev\/","header_plugin_uri":"https:\/\/racmanuel.dev\/plugins-wordpress\/luckyflow\/","header_author_uri":"https:\/\/racmanuel.dev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"racmanuel","date":"2026-08-07 19:18:53"}},"upgrade_notice":{"1.0.0":"<p>Initial release. No upgrade steps needed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3638305,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3638305,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Raffle product data tab \u2014 configure ticket range, dates, and competition settings.","2":"Ticket selector on the frontend \u2014 customers pick numbers with search and range filters.","3":"Cart and checkout \u2014 selected tickets shown with reservation countdown.","4":"Winners metabox in admin \u2014 see selected winners with order and customer details.","5":"Participants tab on product page \u2014 public list of participants with configurable fields."}},"plugin_section":[],"plugin_tags":[175716,20072,52252,4771,286],"plugin_category":[45,58],"plugin_contributors":[212342],"plugin_business_model":[],"class_list":["post-321709","plugin","type-plugin","status-publish","hentry","plugin_tags-competitions","plugin_tags-giveaways","plugin_tags-raffle","plugin_tags-tickets","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-user-management","plugin_contributors-racmanuel","plugin_committers-racmanuel"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/luckyflow-raffles\/assets\/icon-128x128.png?rev=3638305","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>LuckyFlow adds a new \"Raffle\" product type to WooCommerce. Each raffle product gets a configurable range of numbered tickets that customers can select and purchase. When the competition ends, winners are selected automatically and both the admin and the winners receive email notifications.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Custom WooCommerce product type for raffles<\/li>\n<li>Configurable ticket number range per product<\/li>\n<li>Visual ticket selector with search and range filters<\/li>\n<li>Automatic ticket reservation during checkout<\/li>\n<li>Configurable reservation timeout<\/li>\n<li>Automatic winner selection when competition ends<\/li>\n<li>Manual winner selection and competition close actions<\/li>\n<li>Winner notification emails to customers and admins<\/li>\n<li>Frontend participants list with configurable fields<\/li>\n<li>Sold-out actions: do nothing, close, or close and select winners<\/li>\n<li>Progress bar and stats display on product and loop pages<\/li>\n<li>Fully translatable (Spanish included)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>luckyflow-raffles<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install via the WordPress plugin installer.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Go to Products &gt; Add New and select \"Raffle\" as the product type.<\/li>\n<li>Configure the ticket range, dates, and other settings in the Raffle tab.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20create%20a%20raffle%20product%3F\"><h3>How do I create a raffle product?<\/h3><\/dt>\n<dd><p>Go to Products &gt; Add New. In the Product Data metabox, select \"Raffle\" from the product type dropdown. Configure the ticket range, start\/end dates, and other options in the Raffle tab.<\/p><\/dd>\n<dt id=\"can%20customers%20choose%20their%20own%20ticket%20numbers%3F\"><h3>Can customers choose their own ticket numbers?<\/h3><\/dt>\n<dd><p>Yes. The ticket selector on the product page lets customers pick individual numbers, search for a specific number, or view a range. Selected numbers are reserved during checkout.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20customer%20doesn%27t%20complete%20checkout%3F\"><h3>What happens if a customer doesn't complete checkout?<\/h3><\/dt>\n<dd><p>Reserved tickets are automatically released after the configured reservation timeout (set in minutes per product). The customer will need to select tickets again.<\/p><\/dd>\n<dt id=\"how%20are%20winners%20selected%3F\"><h3>How are winners selected?<\/h3><\/dt>\n<dd><p>When the competition end date is reached, winners are selected automatically from paid tickets. You can also manually close a raffle and select winners from the product edit screen.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20ticket%20range%20after%20tickets%20have%20been%20sold%3F\"><h3>Can I change the ticket range after tickets have been sold?<\/h3><\/dt>\n<dd><p>No. Once tickets have been generated for a product, the range is locked to prevent inconsistencies. This is enforced automatically.<\/p><\/dd>\n<dt id=\"how%20do%20i%20translate%20the%20plugin%3F\"><h3>How do I translate the plugin?<\/h3><\/dt>\n<dd><p>The plugin includes a <code>.pot<\/code> file and a complete Spanish translation. Use Loco Translate or Poedit to create translations for other languages. Translations are loaded automatically by WordPress.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>WooCommerce Raffle product type.<\/li>\n<li>Visual ticket selector with range and search.<\/li>\n<li>Automatic ticket reservation and release.<\/li>\n<li>Automatic and manual winner selection.<\/li>\n<li>Email notifications for winners and admins.<\/li>\n<li>Frontend participants list.<\/li>\n<li>Progress bar and stats display.<\/li>\n<li>Spanish translation included.<\/li>\n<\/ul>","raw_excerpt":"Run ticket-based raffles in WooCommerce: numbered tickets, manual selection, automatic winner draws, and email notifications.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321709"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/racmanuel"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321709"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321709"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321709"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321709"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321709"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}