SSP Documentation
Overview
SSP Woo Bundles lets you create bundle products that add only the selected component products to the cart. You can split the bundle price evenly across items or set per-item prices. The plugin prevents duplicate bundles, removes the entire bundle when a component is removed, provides a clean admin UI under WooCommerce → Bundles, and adjusts the visible cart item count so each bundle counts as a single item.
Create a Bundle
- Go to WooCommerce → Bundles and click Create Bundle.
- Enter a Title.
- Pick component products in the Products list (non-bundles only are shown).
- (Optional) Enable Pricing control to let other pricing/discount plugins set prices (compat mode).
- If compat is off, choose a Pricing mode (Even split or Per-item), set Regular and optional Sale price.
- Save. The bundle is a normal Woo product (virtual, no stock) categorized under Bundles.
Where it saves | Flags and config are stored in product meta (e.g. _ssp_bundle , _ssp_bundle_items , _regular_price , _sale_price ). |
---|---|
Category | On activation we create/ensure a Bundles product category and assign bundles to it. |
Pricing Modes
Compat Mode (Pricing control = On)
- The plugin does not touch prices; other pricing/discount plugins can set them.
- Bundle price fields are hidden and
_price
meta is cleared on the bundle.
Even Split (Default)
- You set a bundle Regular price and optional Sale price.
- At add-to-cart time, each component gets a sale price proportional to its live price so the total equals the bundle price.
- Pennies are reconciled on the last line to match the exact target total.
Per-Item Prices (Custom)
- You enter final per-item amounts for the selected components.
- We auto-sum those amounts into the bundle Regular (or Sale) price for you.
- If your entered amounts don’t exactly match the bundle total, we keep your per-item values and show an admin notice.
Admin UI
Bundles screen
- Create, edit, delete bundles in one place.
- Picker can show Published only or All products.
- Existing bundles list shows status, prices, and items with quick actions.
Products list tools
- Extra column shows bundle info (count, prices, compat flag).
- Quick filters: Bundles and Non-Bundles.
Meta keys | _ssp_bundle , _ssp_bundle_items , _ssp_disable_pricing , _ssp_dist_mode , _ssp_item_amts , _ssp_autosum_target , plus Woo price metas. |
---|---|
Virtual & Tax | Bundles are virtual, non-managed stock, and taxable. The visible price is stored as needed when compat is off. |
Cart Behavior
- Single add: Adding a bundle injects only its components to the cart with bundle metadata.
- Duplicate guard: The same bundle can’t be added twice; a notice is shown instead.
- Group remove: Removing any component removes the rest of that bundle group automatically.
- Price enforcement: Prices are set on before/after calculate totals based on your mode (unless compat is on).
- Session restore: Bundle meta is restored when cart is reloaded from session.
Product Page Display
- Bundles are always purchasable.
- Displayed price is the bundle’s sale price if valid, otherwise regular (can be
0.00
). - In compat mode, front-end pricing comes from other pricing logic.
Visible Cart Count
We adjust the cart count so each bundle group is treated as one visible item (plus any non-bundle items normally). This is display-only and affects fragments + a hidden footer marker for themes that read the number from the DOM.
Visible count = (# of bundle groups, counting quantity) + (non-bundle quantities)
FAQ & Troubleshooting
Bundle didn’t add?
- Make sure the bundle has at least one valid, purchasable product.
- If the same bundle is already in the cart, we block duplicates by design.
Prices look off?
- Compat mode disables bundle math—turn it off to use Even/Custom modes.
- Custom mode: check per-item amounts and the auto-sum target.
Theme shows wrong cart count
Ensure your theme uses Woo fragments or reads the #ssp-visible-cart-count
marker. We inject an updated fragment and a hidden span in the footer.