A plan holds the schedule; each product brings its own price. This article covers attaching products to a plan, setting a price for every duration, and offering the product for one-time purchase alongside the subscription.

There are two ways in, and they edit the same thing:

  • From the plan — best when you are pricing many products at once.

  • From the product — best when you are setting up one product and want everything about it on one screen.

Prerequisites

  • A plan with at least one duration. Products cannot be attached to a plan that has none.

  • WPSubscription Pro for variable products. The free plugin attaches simple products.

Part 1 — From the plan

Step 1 — Open the Products tab

Open the plan and switch to Products. A plan with nothing on it yet invites the first one.

Screenshot of a plan's Products tab with no products connected, showing an Add Products button
A plan with no products yet.

Step 2 — Pick the products

Click Add Products — or Manage Products once the plan already has some. Ticking a product puts it on the plan at every duration; unticking takes it off.

Screenshot of the Manage Products dialog listing products with tick boxes, their prices, and variations indented beneath their parent
The product picker. Variations are listed under their parent and can be ticked on their own.

Search by name when the catalogue is long.

Screenshot of the Manage Products dialog filtered by a search term
Searching the picker. Ticks you have already made are kept as you search.

Click Save products. Each one arrives on the plan at the price WooCommerce currently shows for it, on every duration — a sensible default you then adjust.

Step 3 — Read the price table

The Products tab lists every product on the plan. Click one to expand its prices.

Screenshot of a plan's Products tab listing connected products, the first expanded to show its pricing table
Every product on the plan. Edit on WooCommerce and Preview product open it elsewhere; Remove takes it off the plan.
Screenshot of one product's pricing table with a row per duration showing regular price, offer price and status
One row per duration. This product is $34.95, discounted to $29.95, on all three.

Column

What it means

Duration

One of the plan's durations. Every active duration gets a row.

Regular Price

The recurring price charged each billing cycle.

Offer Price

A discounted recurring price shown in place of the regular one. Leave it empty for no discount.

Status

Enabled means the customer can pick this duration for this product. Disabled hides that one combination without touching the rest.

Note: When an offer price is set, the customer is charged the offer price — every cycle, not just the first. The regular price is what gets struck through beside it, and what the "Save 23%" badge is measured against. It is a permanent subscriber discount, not an introductory rate.

Step 4 — Change the prices

Click Edit prices. The cells become fields and the status badges become toggles.

Screenshot of a product's pricing table in edit mode, with regular and offer price input fields and per-duration toggles
Edit mode. Price every duration differently — that is the point of having several.

This is where a longer commitment earns its discount: charge $34.95 monthly, $29.95 every three months, and the quarterly button starts doing the selling for you.

Click Save. Prices take effect on the storefront immediately, for new purchases. Subscriptions already running are untouched.

Step 5 — Offer a one-time purchase

Underneath the durations is the One-time purchase row. Switch Allow one-time purchase on and the product page gains a second option: buy it once, no subscription.

Screenshot of the One-time purchase row with its toggle enabled and regular and offer price fields
One-time purchase, priced separately from the subscription.

The one-time Regular Price and Offer Price are the product's own WooCommerce regular and sale prices — editing them here edits the product, and editing the product changes them here. They are deliberately separate from the plan prices, which is what lets you undercut the one-time price with the subscription price and show the customer the gap.

Note: One-time purchase is per product, and on a variable product per variation. Turning it on for one variation does not turn it on for the others.

Part 2 — From the WooCommerce product

Everything above can also be done from the product itself, which is usually where you are when setting up a single product.

Step 1 — Open the Subscription tab

Edit the product and open Product data → Subscription. A product on no plan says so.

Screenshot of the Subscription tab on a product that is not connected to a plan, showing a Connect to a plan panel
Not connected yet.
Note: Switch to simple mode, top right, goes back to the per-product subscription fields from WPSubscription 1.x. Products set up that way keep working; plans are an alternative, not a replacement. Back to plan mode returns.

Step 2 — Pick a plan

Open Select a plan… and choose one. Every plan in the store is listed.

Screenshot of the plan picker open on a product's Subscription tab
Choosing a plan. The + New button beside it creates a plan without leaving the product — that one needs Pro.

Step 3 — Set the prices and save

Picking a plan opens the same price table, one row per duration, prefilled with the product's WooCommerce price — plus the one-time purchase row.

Screenshot of the per-duration price table that appears after choosing a plan on a product, with a one-time purchase row beneath
Set a price per duration, then Save. Nothing is connected until you do.

Notice that Enable subscription, top left, switches itself on when you choose a plan. That toggle is the product's master switch: turn it off and the product sells as an ordinary WooCommerce product no matter what plan it is attached to.

Click Save. The panel becomes the connected view.

Step 4 — The connected view

Screenshot of a connected product showing the plan name and a chip per duration with its price and a copy-link icon
A connected product: one chip per duration, plus the one-time option.

Each chip is one duration, showing the price the customer will pay — struck-through regular price where there is a discount. The chain icon on each chip copies a direct checkout link for that exact price; see Direct checkout links.

  • Edit in Plan — opens the plan, to change the durations themselves.

  • Edit prices — same table as before, in place.

  • Detach — takes the product off the plan. It stops being sold as a subscription; existing subscribers keep renewing.

Screenshot of a connected product's price table in edit mode with regular price, offer price, per-duration toggles and the one-time purchase row
Editing prices from the product. The same numbers the plan's Products tab shows.

Variable products

Note: Variable products require WPSubscription Pro. In the free plugin, plans attach to simple products.

On a variable product the panel shows one card per variation, each with its own prices and its own one-time option — so 150 softgels can be $24.95 a month while 300 softgels is $34.95.

Screenshot of a variable product's Subscription tab with a separate price card for each of two variations
Two variations, two sets of prices, on one plan.

Attaching the plan to the parent product gives every variation the same prices to start from. Edit any variation's card to break it away from the rest.

Free and Pro

Feature

Free

Pro

Attach simple products to a plan

A regular and offer price per duration

Enable or disable one duration for one product

One-time purchase alongside the subscription

Attach and price from the plan's Products tab

Variable products and per-variation pricing

Remove a product from the plan's Products tab

Create a plan from the product editor

What to do next

  1. Generate a direct checkout link for each price.

  2. See what the customer sees on the product page.