{"id":381261,"date":"2026-10-09T13:52:49","date_gmt":"2026-10-09T13:52:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nanflows-bundles-for-woocommerce\/"},"modified":"2026-10-10T09:49:38","modified_gmt":"2026-10-10T09:49:38","slug":"nanflows-bundle","status":"publish","type":"plugin","link":"https:\/\/oci.wordpress.org\/plugins\/nanflows-bundle\/","author":23558223,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.2","stable_tag":"0.1.2","tested":"7.1.3","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Nanflows Product Bundles for WooCommerce \u2013 Frequently Bought Together & Combo Offers","header_author":"Nanflows","header_description":"Sell product bundles in WooCommerce: fixed bundles and \"frequently bought together\" offers, with stock taken from the products inside.","assets_banners_color":"6d6c70","last_updated":"2026-10-10 09:49:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/nanflows.com\/products\/nanflows-bundle","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":100,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"spexoid","date":"2026-10-09 13:52:31","revision":3736789},"0.1.1":{"tag":"0.1.1","author":"spexoid","date":"2026-10-09 18:40:17","revision":3737210},"0.1.2":{"tag":"0.1.2","author":"spexoid","date":"2026-10-10 09:49:38","revision":3737861}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3736789,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3736789,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3736789,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3736789,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"nanflows-bundle\/bundle":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"nanflows-bundle\/bundle","version":"0.1.0","title":"Bundle","category":"woocommerce","icon":"screenoptions","description":"Show a product bundle with its products, prices and an Add Bundle to Cart button.","keywords":["bundle","woocommerce","products","offer"],"textdomain":"nanflows-bundle","attributes":{"bundleId":{"type":"number","default":0}},"supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true,"padding":true}},"editorScript":"file:.\/editor.js"}},"tagged_versions":["0.1.0","0.1.1","0.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3736789,"resolution":"1","location":"assets","locale":"","width":1248,"height":816},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3736789,"resolution":"2","location":"assets","locale":"","width":1248,"height":755},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3736789,"resolution":"3","location":"assets","locale":"","width":1248,"height":583},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3736789,"resolution":"4","location":"assets","locale":"","width":1440,"height":560},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3736789,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3736789,"resolution":"6","location":"assets","locale":"","width":1440,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3736789,"resolution":"7","location":"assets","locale":"","width":1440,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3736789,"resolution":"8","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"A bundle on a product page: shoppers choose the product alone or the bundle, and see what they save.","2":"Frequently bought together: shoppers tick the extras they want with the product.","3":"The bundle in the cart, with the products inside listed under it.","4":"All your bundles in one list, with bulk actions, status switches and drag to set the order.","5":"Creating a bundle: give it a name and pick a type.","6":"The bundle editor: add products and see a live preview of the product page.","7":"Set the bundle price; the regular price and the saving are worked out for you.","8":"Settings: where bundles appear, icon style, cart display and more."}},"plugin_section":[],"plugin_tags":[14503,266040,156668,31086,73298],"plugin_category":[45],"plugin_contributors":[285372],"plugin_business_model":[],"class_list":["post-381261","plugin","type-plugin","status-publish","hentry","plugin_tags-bundle","plugin_tags-bundle-discount","plugin_tags-combo-offer","plugin_tags-frequently-bought-together","plugin_tags-product-bundles","plugin_category-ecommerce","plugin_contributors-spexoid","plugin_committers-spexoid"],"banners":{"banner":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/banner-772x250.png?rev=3736789","banner_2x":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/banner-1544x500.png?rev=3736789","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/icon-128x128.png?rev=3736789","icon_2x":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/icon-256x256.png?rev=3736789","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-1.png?rev=3736789","caption":"A bundle on a product page: shoppers choose the product alone or the bundle, and see what they save."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-2.png?rev=3736789","caption":"Frequently bought together: shoppers tick the extras they want with the product."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-3.png?rev=3736789","caption":"The bundle in the cart, with the products inside listed under it."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-4.png?rev=3736789","caption":"All your bundles in one list, with bulk actions, status switches and drag to set the order."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-5.png?rev=3736789","caption":"Creating a bundle: give it a name and pick a type."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-6.png?rev=3736789","caption":"The bundle editor: add products and see a live preview of the product page."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-7.png?rev=3736789","caption":"Set the bundle price; the regular price and the saving are worked out for you."},{"src":"https:\/\/ps.w.org\/nanflows-bundle\/assets\/screenshot-8.png?rev=3736789","caption":"Settings: where bundles appear, icon style, cart display and more."}],"raw_content":"<!--section=description-->\n<p><strong>Nanflows Product Bundles<\/strong> lets you sell WooCommerce products together: a starter kit, a gift set, a combo offer at one bundle price, or a \"frequently bought together\" box under a product. Stock comes off the real products inside, and checkout stays the normal WooCommerce checkout.<\/p>\n\n<p>Free, with no limit on how many bundles you make.<\/p>\n\n<h4>WooCommerce product bundles and combo offers<\/h4>\n\n<ul>\n<li><strong>Fixed bundles<\/strong>: you choose the products and quantities, and customers buy them together at one price. Set your own bundle price, lower than buying the products one by one.<\/li>\n<li><strong>The saving is shown<\/strong>: the regular price and what the customer saves are worked out for you and shown on the product page.<\/li>\n<li><strong>Customer chooses the option<\/strong>: put a variable product in a bundle and let the customer pick the size or colour, or fix the variation yourself.<\/li>\n<li><strong>Combo offers, kits and gift sets<\/strong>: \"Shampoo + Conditioner combo\", \"Starter kit\", \"The full routine\". One product in the cart, one click to buy.<\/li>\n<\/ul>\n\n<h4>Frequently bought together for WooCommerce<\/h4>\n\n<ul>\n<li><strong>A main product plus up to 4 extras<\/strong>, already ticked, that the customer can untick before adding the lot to the cart in one click.<\/li>\n<li><strong>Shown on the main product's page<\/strong>, where the decision is made. WooCommerce's own cross-sells only appear in the cart.<\/li>\n<li>With every extra unticked, the main product goes to the cart on its own.<\/li>\n<\/ul>\n\n<h4>Stock that never oversells<\/h4>\n\n<ul>\n<li><strong>No separate bundle stock<\/strong>: a bundle is available while every product inside is in stock, and each sale takes stock from them.<\/li>\n<li><strong>Overselling is stopped<\/strong> at add to cart, in the cart and at checkout.<\/li>\n<li>Stock goes back on cancellation or a restocking refund, by WooCommerce itself.<\/li>\n<\/ul>\n\n<h4>Cash on delivery or prepaid, per bundle<\/h4>\n\n<ul>\n<li><strong>Accept both, prepaid only, or COD only<\/strong> for each bundle. Make big or expensive combos prepaid only, and keep COD for the small ones.<\/li>\n<li>The plugin checks that the payment method is really switched on in WooCommerce before a bundle goes live.<\/li>\n<li>If a cart holds bundles with different rules, only the methods all of them allow are offered.<\/li>\n<\/ul>\n\n<h4>Show bundles where they sell<\/h4>\n\n<ul>\n<li><strong>Pick product pages, or whole product categories<\/strong>: every product in them, and products added later.<\/li>\n<li><strong>One button, the customer's choice<\/strong>: shoppers pick \"Just this product\" or a bundle with a radio button, and one Add to cart button adds what they chose. Separate bundle cards are available in the settings instead.<\/li>\n<li><strong>Only on those pages, or also as its own product<\/strong>: by default a bundle is not listed in the shop, categories or search, and its own page link takes shoppers to the product page that offers it. Or list each bundle as a product of its own (Settings &gt; General).<\/li>\n<li><strong>Block and shortcode<\/strong>: show a bundle anywhere else with the Bundle block or <code>[nanflows_bundle id=\"123\"]<\/code>.<\/li>\n<li><strong>Several bundles on one product<\/strong>: one by default, up to three if you change it in Settings.<\/li>\n<li><strong>A page of its own<\/strong>: switch it on for any bundle and it gets a page with only that bundle, in your theme's design, to share in ads, WhatsApp, emails or your menu. Put a heading or a banner at the top (with a second banner for phones if you like).<\/li>\n<\/ul>\n\n<h4>Easy to set up<\/h4>\n\n<ul>\n<li><strong>Guided set-up<\/strong>: \"Create Bundle\" asks for a name, a type and its products, then takes you through the bundle's products and pages, offer, details and payment, with a live preview of the card shoppers will see.<\/li>\n<li><strong>Drafts<\/strong>: half-finished bundles can be saved and finished later. Drafts are never shown to shoppers.<\/li>\n<li><strong>Bundle picture<\/strong>: made automatically from the product pictures (updated when they change), or choose your own from the Media Library. Shown in the cart, orders and emails.<\/li>\n<li><strong>Bundles list<\/strong>: search, filter by type or status, change several bundles at once, and drag bundles or the products inside them to set the order.<\/li>\n<li><strong>Setup wizard and icon styles<\/strong>: a short first-run wizard, and a choice of line, solid or WordPress Dashicons icons.<\/li>\n<li><strong>Clear cart<\/strong>: the bundle and its products are shown together; products inside cannot be removed on their own.<\/li>\n<\/ul>\n\n<h4>Bundle analytics<\/h4>\n\n<p>Bundle orders, revenue, units, average bundle value and prepaid vs COD orders, by day, with date filters. Stored in your own database only.<\/p>\n\n<h4>Works with<\/h4>\n\n<ul>\n<li>Simple products, physical or virtual and downloadable (customers get their downloads as usual).<\/li>\n<li>Variable products: a set variation, or the customer chooses.<\/li>\n<li>Your payment gateways, taxes, shipping and coupons.<\/li>\n<li>The classic cart and checkout, the Cart and Checkout blocks, and checkouts built on WooCommerce's checkout or Store API.<\/li>\n<li>HPOS (high-performance order storage).<\/li>\n<\/ul>\n\n<p>Subscription products (WooCommerce Subscriptions) cannot be put in a bundle yet: their renewals would not be billed correctly, so they are refused with a clear message.<\/p>\n\n<h4>Nanflows Bundles Pro<\/h4>\n\n<p>Everything above is free, has no limits, and works fully without Pro. <a href=\"https:\/\/nanflows.com\/products\/nanflows-bundle\">Nanflows Bundles Pro<\/a>, a separate plugin, adds:<\/p>\n\n<ul>\n<li><strong>Eight more bundle types<\/strong>: Quantity Break (buy 3, save 10%; buy 7, save 20%), Volume discounts, Mix &amp; Match, Build Your Own, Buy X Get Y and BOGO, fixed bundles with add-ons, gift boxes with gift wrap and a message, and variety packs.<\/li>\n<li><strong>Bundle discounts as a percentage or an amount off<\/strong>, and a percentage off \"frequently bought together\" offers, with up to 10 extras.<\/li>\n<li><strong>Sales rules<\/strong>: sell from and until a date, and a minimum and maximum number of bundles per order.<\/li>\n<li><strong>Badge and urgency<\/strong>: a \"Best value\", \"Most popular\", \"Limited offer\" or your own badge, a countdown to the offer's last day, and free shipping with the bundle.<\/li>\n<li><strong>Suggestions from your orders<\/strong>: products your customers often buy together, made into a \"frequently bought together\" offer in one click.<\/li>\n<li><strong>Reports<\/strong>: a views-to-purchase funnel for each bundle, the most bundled products, customers, COD vs prepaid failure rates, placements, CSV exports and an email report.<\/li>\n<\/ul>\n\n<p>The editor lists the Pro types as optional upgrades.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>The plugin sends nothing outside your site. Analytics are stored in your own database, without personal data: visitors are counted with a salted hash that cannot be turned back into a person or an IP address.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>In WordPress, go to Plugins &gt; Add New, search for \"Nanflows Product Bundles\", then install and activate it.<\/li>\n<li>Open Bundles: a short setup wizard asks how bundles should appear. Then press Create Bundle and follow the steps.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20create%20a%20product%20bundle%20in%20woocommerce%3F\"><h3>How do I create a product bundle in WooCommerce?<\/h3><\/dt>\n<dd><p>Open Bundles and press Create Bundle. Give it a name, choose \"Fixed bundle\", add the products and how many of each, pick the product pages or categories it shows on, and set the bundle price. Publish, and it appears on those product pages.<\/p><\/dd>\n<dt id=\"how%20do%20i%20make%20a%20combo%20offer%3F\"><h3>How do I make a combo offer?<\/h3><\/dt>\n<dd><p>A combo offer is a fixed bundle: add the products that go together (for example a shampoo and a conditioner), set one price for the combo that is lower than buying them separately, and choose the pages it shows on. Shoppers see the saving next to the price.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20%22frequently%20bought%20together%22%20to%20a%20product%20page%3F\"><h3>How do I add \"frequently bought together\" to a product page?<\/h3><\/dt>\n<dd><p>Press Create Bundle and choose \"Frequently bought together\". Pick the main product and up to 4 extras. The box shows on the main product's page, with the extras ticked; shoppers untick what they don't want and add the rest in one click.<\/p><\/dd>\n<dt id=\"can%20i%20give%20a%20discount%20on%20a%20bundle%3F\"><h3>Can I give a discount on a bundle?<\/h3><\/dt>\n<dd><p>Yes. Set the fixed bundle's price lower than the total of the products inside, and the saving is shown to shoppers. A percentage or amount off, and a discount on \"frequently bought together\", are in Nanflows Bundles Pro.<\/p><\/dd>\n<dt id=\"where%20do%20i%20set%20a%20bundle%27s%20products%20and%20price%3F\"><h3>Where do I set a bundle's products and price?<\/h3><\/dt>\n<dd><p>In Bundles: press Create Bundle (or Edit on an existing one). The WooCommerce product screen still edits the title, images, description and tax class.<\/p><\/dd>\n<dt id=\"how%20is%20stock%20handled%3F\"><h3>How is stock handled?<\/h3><\/dt>\n<dd><p>A bundle has no stock of its own. The product with the least stock (for the quantity the bundle needs) decides how many bundles can be sold. Stock is taken from the products inside when an order is paid, and put back on cancellation or a restocking refund, by WooCommerce itself.<\/p><\/dd>\n<dt id=\"which%20product%20pages%20show%20a%20bundle%3F\"><h3>Which product pages show a bundle?<\/h3><\/dt>\n<dd><p>The product pages and categories you pick when you create it (you can change them later on the Products step), plus the main product's page for \"frequently bought together\". With a category, every product in it (and in the categories under it) shows the bundle, products added later too. The other products inside a bundle do not show it on their pages.<\/p><\/dd>\n<dt id=\"can%20a%20bundle%20have%20a%20page%20of%20its%20own%2C%20to%20share%20in%20ads%3F\"><h3>Can a bundle have a page of its own, to share in ads?<\/h3><\/dt>\n<dd><p>Yes. On the bundle's Products step, switch on \"Also give this bundle its own page\". The page shows only that bundle, in your theme's design, at the bundle's link. On the Name &amp; text step, choose what goes at the top: the bundle name, your own heading, no heading, or a banner (1600 \u00d7 450 px is best; add a 400 \u00d7 200 px one for phones if you like). Under it come the bundle's description and the bundle itself. \"Frequently bought together\" offers belong on their product's page, so they have no page of their own.<\/p><\/dd>\n<dt id=\"is%20a%20bundle%20also%20a%20product%20of%20its%20own%20in%20my%20shop%3F\"><h3>Is a bundle also a product of its own in my shop?<\/h3><\/dt>\n<dd><p>Every bundle is a WooCommerce product underneath, which is how it goes in the cart and takes stock from its products. By default it is not listed in the shop, categories, search or the sitemap, and its own page sends shoppers to the product page that offers it. In Bundles &gt; Settings &gt; General, choose \"Also as its own product in the shop\" to list bundles like any other product.<\/p><\/dd>\n<dt id=\"where%20does%20a%20bundle%27s%20picture%20come%20from%3F\"><h3>Where does a bundle's picture come from?<\/h3><\/dt>\n<dd><p>Until you choose one, a bundle gets a picture made from up to four of its products' pictures (saved in the Media Library, and made again when those pictures change). Choose your own on the \"Name &amp; text\" step; it always wins, and the made one is removed. On servers without the GD image library, the first product's picture is used.<\/p><\/dd>\n<dt id=\"several%20bundles%20are%20set%20to%20show%20on%20one%20product%20page.%20what%20do%20shoppers%20see%3F\"><h3>Several bundles are set to show on one product page. What do shoppers see?<\/h3><\/dt>\n<dd><p>The page offers up to the number of bundles set in Bundles &gt; Settings (one by default, three at most). With one bundle, it opens by itself; with more, shoppers pick one from the list. They appear in the order of the Bundles list: drag bundles up or down there to change it.<\/p><\/dd>\n<dt id=\"can%20i%20save%20a%20bundle%20before%20it%20is%20finished%3F\"><h3>Can I save a bundle before it is finished?<\/h3><\/dt>\n<dd><p>Yes. \"Save as draft\" keeps it, with or without products and a price. Drafts are never shown to shoppers; every check runs when you publish.<\/p><\/dd>\n<dt id=\"can%20a%20customer%20pay%20cash%20on%20delivery%3F\"><h3>Can a customer pay cash on delivery?<\/h3><\/dt>\n<dd><p>Yes, unless you set a bundle to \"Prepaid only\". If a cart holds bundles with different rules, only the methods all of them allow are offered.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20checkout%20and%20hpos%3F\"><h3>Does it work with the block checkout and HPOS?<\/h3><\/dt>\n<dd><p>Yes. It works with the classic cart and checkout, the Cart and Checkout blocks, and high-performance order storage (HPOS).<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20shop%20down%3F\"><h3>Does it slow my shop down?<\/h3><\/dt>\n<dd><p>Its CSS and JavaScript load only on pages that show a bundle, the cart and the checkout. Reports read summary tables, never every order.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>A bundle can have a page of its own, with a heading or a banner (computers and phones) at the top, in your theme's design.<\/li>\n<li>The bundle editor stops at a step with something missing and says what to fill in, from Next and from the steps at the top.<\/li>\n<li>The preview shows the bundle's own page and how it looks in the cart, picture included.<\/li>\n<li>Simpler wording in the bundle editor.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>New plugin name and a clearer description: product bundles, combo offers and frequently bought together.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: fixed and \"frequently bought together\" bundles, guided bundle creation with drafts and a live preview, a setup wizard, icon styles, stock from the products inside, COD or prepaid per bundle, and analytics.<\/li>\n<\/ul>","raw_excerpt":"Product bundles, combo offers and frequently bought together for WooCommerce. Bundle price, stock from the products inside, COD or prepaid per bundle.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=381261"}],"author":[{"embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/spexoid"}],"wp:attachment":[{"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381261"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381261"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381261"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381261"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381261"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/oci.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}