The Product Addons feature allows you to add custom options and extras to your WooCommerce products. Customers can personalize their purchases with add-ons like gift wrapping, engraving, extended warranties, or any custom option you can imagine—each with optional pricing.
Overview #
What are Product Addons?
Product Addons extend your products with customizable options that customers can select during purchase. Unlike product variations, addons are optional extras that add value (and often additional cost) to the base product.
Common use cases:
- Gift wrapping – Offer premium or standard gift wrap options
- Personalization – Custom engraving, monogramming, or printed messages
- Warranties – Extended protection plans
- Rush processing – Expedited shipping or handling
- Accessories – Related items bundled with the main product
- Custom designs – File uploads for print-on-demand products
Getting Started
- Navigate to Swift Commerce → Products → Product Addons in your WordPress admin
- Configure global settings in the Settings tab
- Customize the appearance in the Customization tab
- Add addons to individual products via Products → Edit Product → Add-ons tab
- Click Save Changes
Settings Tab #
The Settings tab controls how product addons behave across your store.
Display Settings
Configure how addons appear on product pages.
| Setting | Description | Options |
|---|---|---|
| Addon Position | Where addons appear on the product page | Before Add to Cart, After Add to Cart, After Price, Custom (shortcode) |
Position Options Explained:
| Position | Description |
|---|---|
| Before Add to Cart Button | Addons appear directly above the Add to Cart button (recommended) |
| After Add to Cart Button | Addons appear below the Add to Cart button |
| After Price | Addons appear right after the product price |
| Custom (via shortcode) | Use [swift_commerce_product_addons] to place anywhere |
Price Display
Control how addon prices are shown to customers.
| Setting | Description | Default |
|---|---|---|
| Show Prices in Labels | Display addon prices next to option labels | Enabled |
| Include Tax in Prices | Show addon prices with tax included | Disabled |
| Price Format | How prices appear: Relative (+$5.00) or Absolute ($5.00) | Relative |
| Live Price Updates | Update total price in real-time as customers select addons | Enabled |
Price Format Examples:
| Format | Display Example |
|---|---|
| Relative | Gift Wrapping (+$4.99) |
| Absolute | Gift Wrapping ($4.99) |
Behavior
Configure addon behavior and validation.
| Setting | Description | Default |
|---|---|---|
| Require All Fields | Prevent adding to cart until all required addons are filled | Enabled |
| AJAX Add to Cart | Add products with addons to cart without page reload | Enabled |
Cart & Order Display
Control where addon information appears throughout the purchase flow.
| Setting | Description | Default |
|---|---|---|
| Show in Cart | Display selected addons in the shopping cart | Enabled |
| Show in Checkout | Display selected addons on the checkout page | Enabled |
| Include in Order Emails | Include addon details in order confirmation emails | Enabled |
File Upload Settings
Configure restrictions for file upload addons.
| Setting | Description | Default |
|---|---|---|
| Allowed File Types | Comma-separated list of permitted extensions | jpg, jpeg, png, gif, pdf |
| Maximum File Size | Maximum upload size per file in megabytes | 5 MB |
Note: Server limits (PHP upload_max_filesize) may further restrict maximum file sizes.
Customization Tab #
The Customization tab lets you style how product addons appear on your product pages.
Templates
Choose a pre-designed template for quick styling, or select “Custom” for full control.
| Template | Description |
|---|---|
| Card | Elegant cards with rounded corners and subtle shadows |
| Minimal | Clean and subtle with muted backgrounds |
| Classic | Traditional styling with defined borders |
| Custom | Full manual control over all styling options |
Container Styles
Customize the addon container appearance.
| Setting | Description |
|---|---|
| Background | Background color of addon containers |
| Border Color | Border color around addon groups |
| Border Radius | Corner roundness in pixels |
| Padding | Interior spacing in pixels |
Typography
Control text appearance throughout addons.
Title Styling
| Setting | Description |
|---|---|
| Size | Font size for addon titles (12-24px) |
| Weight | Font weight (Normal, Medium, Semi-bold, Bold) |
| Color | Text color for titles |
Other Text
| Setting | Description |
|---|---|
| Description Color | Color for addon description text |
| Label Color | Color for option labels |
Price Styles
Customize how prices appear within addons.
| Setting | Description |
|---|---|
| Color | Price text color (e.g., green for positive, red for emphasis) |
| Size | Font size for prices (10-20px) |
| Weight | Font weight for prices |
Total Price Display
| Setting | Description |
|---|---|
| Background | Background color of the total price summary |
| Text Color | Color of the total price text |
| Font Size | Size of the total price |
| Font Weight | Weight of the total price |
Input Styles
Style the form inputs within addons.
| Setting | Description |
|---|---|
| Border Color | Default border color for inputs |
| Focus Border | Border color when input is focused |
| Background | Input background color |
| Border Radius | Corner roundness of inputs |
Image Options
For addons that display images (checkbox/radio with swatches):
| Setting | Description |
|---|---|
| Image Size | Width and height of image options in pixels |
| Border Radius | Corner roundness of image options |
| Selected Border Color | Border color when an image option is selected |
| Selected Border Width | Border thickness when selected |
Other
| Setting | Description |
|---|---|
| Required Indicator Color | Color of the asterisk (*) for required fields |
Adding Addons to Products #
Product addons are configured per-product in the WooCommerce product editor.
Accessing the Addons Panel
- Go to Products → All Products
- Click Edit on any product
- Scroll down to the Product Data section
- Click the Add-ons tab
Addon Field Types
Choose from multiple field types based on what information you need to collect:
| Field Type | Description | Has Options | Can Charge |
|---|---|---|---|
| Checkbox | Multiple selections allowed | ✅ | ✅ |
| Radio Buttons | Single selection from options | ✅ | ✅ |
| Dropdown | Select from a dropdown menu | ✅ | ✅ |
| Short Text | Single line text input | ❌ | ✅ |
| Long Text | Multi-line text area | ❌ | ✅ |
| File Upload | Allow customers to upload files | ❌ | ✅ |
| Custom Price | Customer enters their own price | ❌ | ✅ |
| Quantity | Number input with per-unit pricing | ❌ | ✅ |
| Heading | Section divider (display only) | ❌ | ❌ |
Creating an Addon
- In the Add-ons panel, click the Add field… dropdown
- Select the field type you want to add
- Configure the field settings:
Basic Settings
| Field | Description |
|---|---|
| Title | The name displayed to customers |
| Description | Optional help text below the title |
| Required | Whether customers must complete this field |
Options (for Checkbox, Radio, Dropdown)
For fields with multiple choices, add options:
| Field | Description |
|---|---|
| Label | The option name displayed to customers |
| Price | Additional cost for this option |
| Pricing Type | How the price is calculated |
Pricing Types
Control how addon prices are calculated:
| Type | Description | Example |
|---|---|---|
| Flat Fee | Fixed price regardless of quantity | +$10.00 for gift wrapping |
| Quantity Based | Price multiplied by product quantity | +$2.00 per item for rush handling |
| Percentage | Percentage of the product price | +10% for extended warranty |
Percentage Example:
- Product price: $100.00
- Addon: 10% warranty
- Addon cost: $10.00
- Total: $110.00
Managing Addons
| Action | How to Do It |
|---|---|
| Reorder | Drag the handle icon (☰) to rearrange fields |
| Expand/Collapse | Click the arrow to show/hide field settings |
| Delete | Click the trash icon to remove a field |
How Addons Work #
Customer Experience
- Product Page – Customer views product and sees addon options
- Selection – Customer selects desired addons (prices update in real-time)
- Add to Cart – Product is added with selected addons
- Cart – Addons appear as line item details with adjusted pricing
- Checkout – Addons are visible in the order summary
- Order Confirmation – Email includes addon details
Price Calculation
The final price is calculated as:
Final Price = Base Product Price + Sum of All Selected Addon Prices
For quantity-based addons:
Addon Price = Addon Unit Price × Product Quantity
For percentage addons:
Addon Price = Base Product Price × (Percentage / 100)
Order Storage
All selected addon information is saved with the order:
- Addon titles and selected values
- Calculated addon prices
- Any uploaded files (stored securely)
This information is available in:
- Order details in admin
- Customer order confirmation emails
- Order notes and history
Shortcode Usage #
For custom placement, use the shortcode:
[swift_commerce_product_addons product_id="123"]
| Attribute | Description | Required |
|---|---|---|
| product_id | The WooCommerce product ID | Optional (uses current product if on product page) |
Usage Examples:
On a product page (uses current product):
[swift_commerce_product_addons]
In a custom template or page builder:
[swift_commerce_product_addons product_id="456"]
Troubleshooting #
Addons Not Appearing on Product Page
- Ensure Swift Commerce Pro is active
- Check that addons are configured for the specific product
- Verify the addon position setting matches your theme layout
- Clear any caching plugins
Prices Not Updating in Real-Time
- Enable Live Price Updates in Settings
- Check for JavaScript errors in browser console
- Ensure AJAX is not blocked by security plugins
File Uploads Failing
- Check Allowed File Types includes the file extension
- Verify file size is under the configured Maximum File Size
- Check server PHP settings (
upload_max_filesize,post_max_size) - Ensure upload directory has write permissions
Required Fields Not Validating
- Ensure Require All Fields is enabled in Settings
- Check that the specific addon has Required checked
- Verify JavaScript is loading correctly
Addons Not Showing in Cart/Checkout
- Enable Show in Cart and Show in Checkout in Settings
- Clear any object caching
- Check for theme compatibility issues
Best Practices #
- Keep it simple – Don’t overwhelm customers with too many options
- Clear labels – Use descriptive titles that customers understand
- Transparent pricing – Always show addon prices so there are no surprises
- Logical grouping – Use Heading fields to organize related addons
- Test the flow – Complete a test purchase to verify the customer experience
- Mobile-friendly – Test addons on mobile devices
- Reasonable file sizes – Set upload limits that balance quality with server resources