Simple Product Bundles for WooCommerce
A powerful yet lightweight WooCommerce extension for creating flexible product bundles with configurable quantities and volume discounts.
by Aron & Sharon · github.com/aronprins/simple-product-bundles
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/aronprins/simple-product-bundles/archive/refs/heads/main.zipReadme
Simple Product Bundles for WooCommerce
A powerful yet lightweight WooCommerce extension for creating flexible product bundles with configurable quantities and volume discounts.
✨ Features
🎁 Custom Bundle Product Type
Create a new "Product Bundle" product type with full WooCommerce integration.
🔢 Flexible Quantity Controls
- Minimum quantity – Set required quantities (use 0 for optional items)
- Maximum quantity – Limit quantities (use 0 for unlimited)
- Default quantity – Pre-select quantities for customers
💰 Volume Discounts
Offer tiered pricing on individual bundled items:
- Percentage discounts – "Buy 5+, get 10% off each"
- Fixed amount discounts – "Buy 3+, get $2 off each"
🏷️ Bundle-wide Discounts
Apply an overall percentage discount to the entire bundle.
⚡ Real-time Price Updates
Customers see totals, savings, and discounts update instantly as they configure their bundle.
🌍 Translation Ready
Includes translations for:
- 🇩🇪 German (de_DE)
- 🇪🇸 Spanish (es_ES)
- 🇫🇷 French (fr_FR)
- 🇳🇱 Dutch (nl_NL)
📦 Installation
From GitHub
- Download or clone this repository
- Upload the
simple-product-bundlesfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
- Ensure WooCommerce is installed and activated
cd wp-content/plugins/
git clone https://github.com/your-username/simple-product-bundles.git
Requirements
| Requirement | Version |
|---|---|
| WordPress | 5.0+ |
| WooCommerce | 5.0+ |
| PHP | 7.4+ |
🚀 Usage
Creating a Bundle
- Go to Products → Add New
- Select Product Bundle from the product type dropdown
- Navigate to the Bundle Items tab
- Click Add Product and search for products to include
- Configure quantities for each item:
- Min Quantity – Minimum required (0 = optional)
- Max Quantity – Maximum allowed (0 = unlimited)
- Default Quantity – Pre-selected amount
- Optionally add Volume Discounts for each item
- Set an overall Bundle Discount percentage
- Publish your bundle!
Volume Discount Tiers
Each bundled item can have multiple volume discount tiers:
| Quantity | Discount |
|---|---|
| Buy 3+ | 5% off |
| Buy 5+ | 10% off |
| Buy 10+ | 15% off |
The highest applicable tier is automatically applied.
🏗️ Architecture
simple-product-bundles/
├── assets/
│ ├── admin.css # Admin panel styles
│ ├── admin.js # Admin panel scripts
│ ├── frontend.css # Frontend bundle display
│ └── frontend.js # Real-time price calculations
├── includes/
│ ├── class-simple-product-bundles-admin.php # Admin functionality
│ ├── class-simple-product-bundles-ajax.php # AJAX handlers
│ ├── class-simple-product-bundles-cart.php # Cart & order handling
│ ├── class-simple-product-bundles-frontend.php # Frontend display
│ └── class-wc-product-bundle.php # Bundle product type
├── languages/ # Translation files
├── simple-product-bundles.php # Main plugin file
└── readme.txt # WordPress readme
🔧 Compatibility
- ✅ HPOS Compatible – Works with WooCommerce High-Performance Order Storage
- ✅ Block Themes – Compatible with modern WordPress block themes
- ✅ Variable Products – Include product variations in bundles
- ✅ Multi-language – Translation-ready with WPML/Polylang support
🎨 Customization
CSS Classes
The plugin uses semantic CSS classes for easy styling:
/* Bundle container */
.bundle-items-wrapper { }
.bundle-items-list { }
.bundle-item { }
/* Quantity controls */
.bundle-qty-control { }
.bundle-qty-btn { }
.bundle-qty-input { }
/* Pricing */
.bundle-summary { }
.bundle-total { }
.bundle-volume-savings { }
Filters & Actions
// Modify bundle price calculation
add_filter('woocommerce_product_get_price', 'your_function', 10, 2);
// After bundle added to cart
add_action('woocommerce_add_to_cart', 'your_function', 10, 6);
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the GPL-2.0+ License - see the LICENSE file for details.
👥 Authors
Aron & Sharon – aronandsharon.com
💬 Support
Read the full README on GitHub →
Releases
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.