One step ahead with these plugins

Create Recurring Weekly Events in WordPress Without Duplicating Tickets

Step-by-step tutorial on setting up recurring event schedules with shared ticket inventory in WordPress.

If you run the same class, show, or session every week, you have probably already tried the obvious thing: clone the ticket product. One for Monday, one for Tuesday, one for next Monday, one for the Monday after that. Within a month, your WooCommerce dashboard looks like a graveyard of near-identical products. Sales reports get fragmented. Inventory becomes a guessing game. And updating a single detail — a price, a description, a venue change — turns into ten edits across ten products.

The good news: you do not need to keep cloning. There is a much cleaner way to handle recurring events wordpress shops without duplicating ticket products, and it lives inside a plugin you can install today. This post walks through why product duplication breaks down at scale, the workarounds that almost work, and how Event Tickets with Ticket Scanner handles repeating dates with a single product and a built-in date picker.

Why Cloning Ticket Products Always Backfires

WooCommerce, on its own, has no idea that two products are “the same event on different days.” It treats every product as an independent SKU. That is fine for physical goods. It is a disaster for events that repeat.

The first month is manageable. You duplicate the Monday yoga class for next Monday. Easy. The second month, you have eight yoga products. The third month, twelve. By the time someone asks “how many tickets did we sell to yoga overall?”, you are exporting CSVs from twelve products and concatenating them by hand.

The deeper problem is fragmentation. Each cloned product has its own:

  • Stock counter — so a customer can sell out one Monday while seats sit empty on the next
  • Reviews — split across products that should look identical to a buyer
  • SEO juice — diluted across near-duplicate URLs that compete with each other
  • Product description — which has to be edited everywhere when something changes

And then there is the door. Your scanner needs to know which day a ticket is valid for. With cloned products, that information lives in the product name, which means your team is squinting at QR codes hoping the right Monday matches.

The Workarounds Most Shops Try First

Before reaching for a proper solution, most stores try one of these. They are worth understanding because they all hit the same wall.

The “one product per week” approach. You create a new ticket product every Monday morning for that week’s class. Manageable for one or two events. Crippling once you run three or four recurring sessions across different days. Your team is now copy-pasting product details several times a week, and the moment someone forgets, a class goes unlisted.

[SCREENSHOT: WooCommerce product list showing fifteen near-identical “Yoga Class” products with different dates]

The “one giant product with quantity = sessions” approach. One product, lots of stock, customers buy “a yoga class” without specifying which one. This works exactly until the first customer shows up on a Tuesday for a Monday class. There is no way to tell them apart at the door, no way to know which session is sold out, and no way to handle no-shows gracefully.

The “external calendar plugin” approach. Some shops bolt on a separate event calendar plugin to handle the dates and try to wire up ticketing through a second system. Now you have two systems to maintain, two places where data lives, and a brittle handoff between them. Every WordPress update is a coin flip on whether the integration still works.

None of these solve the core problem: a single recurring event needs one product, one inventory, one set of reports — and a way for the customer to pick which date they are buying for.

How Event Tickets with Ticket Scanner Handles Recurring Events in WordPress

This is where Event Tickets with Ticket Scanner takes a different approach. Instead of forcing you to model every date as its own product, the plugin lets one ticket product carry a list of dates the event runs on. Customers see a calendar at checkout, pick their day, and walk away with a QR code that knows which date it belongs to.

The feature is called Day Chooser, and it is included in the free version. The setup looks like this:

  • Open the WooCommerce product you use for the recurring event
  • Enable Day Chooser in the ticket settings
  • Add every date the event runs — Monday, Wednesday, Friday, next Monday, the week after, and so on
  • Save

[SCREENSHOT: Ticket product settings showing Day Chooser enabled with a list of selectable dates]

From the customer’s side, the experience is clean. They land on the product page, see a calendar widget, click the day they want, and proceed to checkout. WooCommerce handles the payment. The plugin generates a QR-code ticket tagged with the chosen date and sends it via email with a PDF download link. At the door, when your scanner reads the code, it knows exactly which day that ticket is valid for.

One product. Multiple dates. Shared inventory. One place to update if the description changes. One row in your reports.

Why This Works Better Than a Recurring-Events Plugin

You might wonder why we are not just calling this “recurring events.” The honest answer: most plugins that promise recurring events build a layer of abstraction that creates more problems than it solves. They auto-generate phantom products, struggle with stock, break on edits, and produce confusing reports.

The Day Chooser approach is more pragmatic. You stay in control of which dates exist. You add new ones when you need them, remove ones that got cancelled, and the underlying product never changes. There is no automation guessing what your schedule should be. There is no “what happens if I edit the parent template?” question. It is just a product with a list of dates the customer can pick from.

This matters in real-world cases:

  • A yoga studio running classes Monday, Wednesday, Friday — one product, three dates per week, refreshed every month
  • A comedy club hosting a weekly show — one product, one new date added every week, reports stay consolidated
  • A workshop that runs the same content monthly — one product, one date a month, cleanly trackable
  • A spa selling a “drop-in massage” that books across many slots — one product, many available days

None of these need automatic series generation. They need a customer-facing date picker, a ticket tied to the chosen date, and a scanner that respects it. That is exactly what the plugin delivers — without inventing the date logic for you.

What You Get Beyond the Date Picker

Once you have a single recurring product set up properly, the rest of the ticketing workflow falls into place. Every order produces a unique QR-coded ticket. The buyer gets a downloadable PDF link in their order email. Your team scans codes at the door using the built-in mobile scanner — no extra app, just a phone browser, and you can install it as a PWA on the home screen for fullscreen scanning with haptic feedback.

If your recurring event uses assigned seating — say, a weekly theater show — the visual seating plan designer lets you draw the venue once and reuse it for every date. Customers pick their seats during checkout from an interactive map. Seats are blocked while the order is in progress and released automatically on cancel or refund.

You also get the small but valuable details that make recurring operations sane: WooCommerce product variants for VIP versus general admission, refunds that release the ticket number back to the pool, WPML compatibility for multilingual sites, and webhooks for plugging the data into anything else you run.

What the plugin does not do — and is honest about — is auto-generate event series. It does not pretend to be a full event-calendar frontend either. If you need a public calendar listing every event you host, you will pair it with a calendar theme or plugin. The ticketing side stays focused on what it is built for: selling tickets, generating QR codes, and validating them at the door.

Set Up Your First Recurring Event Today

If you are running the same event week after week, you do not need a complicated recurring events wordpress system or a stack of duplicated products. You need a single ticket product with multiple dates attached, a checkout that lets the customer pick their day, and a scanner that knows which date is valid. That is exactly what Event Tickets with Ticket Scanner gives you out of the box.

Install the free version from the official directory at wordpress.org/plugins/event-tickets-with-ticket-scanner and try the Day Chooser on your first repeating product. When you are ready to add team-scanner access tokens, calendar invitations in emails, custom PDF templates, advanced shortcodes, and bulk-assign tools, upgrade to Premium at vollstart.com/shop/event-tickets-with-ticket-scanner-pro. Stop cloning products. Start running your weekly events the way they were meant to run.

Login