{"id":279968,"date":"2026-02-12T10:12:01","date_gmt":"2026-02-12T10:12:01","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/dl-frequently-bought-together\/"},"modified":"2026-02-12T10:12:33","modified_gmt":"2026-02-12T10:12:33","slug":"dl-frequently-bought-together","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/dl-frequently-bought-together\/","author":23404993,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.2","stable_tag":"1.0.2","tested":"6.9.4","requires":"6.0","requires_php":"8.3","requires_plugins":null,"header_name":"DL Frequently Bought Together","header_author":"Digital Lychee Creative Limited","header_description":"Adds a \u201cFrequently Bought Together\u201d bundle section to WooCommerce product pages, with dynamic pricing and one-click add-to-cart.","assets_banners_color":"dbe3ca","last_updated":"2026-02-12 10:12:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/digitallychee.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":177,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"digitallychee","date":"2026-02-12 10:12:33"}},"upgrade_notice":{"1.0.2":"<p>This update improves internal input handling and code consistency to meet WordPress.org review guidelines. No user-facing or functional changes are introduced.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3459780,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3459780,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3459780,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3459780,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3459780,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3459780,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3459780,"resolution":"3","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[31088,13788,31086,1311,286],"plugin_category":[45],"plugin_contributors":[251211],"plugin_business_model":[],"class_list":["post-279968","plugin","type-plugin","status-publish","hentry","plugin_tags-bundles","plugin_tags-cross-sell","plugin_tags-frequently-bought-together","plugin_tags-upsell","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-digitallychee","plugin_committers-digitallychee"],"banners":{"banner":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/banner-772x250.png?rev=3459780","banner_2x":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/banner-1544x500.png?rev=3459780","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/icon-128x128.png?rev=3459780","icon_2x":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/icon-256x256.png?rev=3459780","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/screenshot-1.png?rev=3459780","caption":""},{"src":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/screenshot-2.png?rev=3459780","caption":""},{"src":"https:\/\/ps.w.org\/dl-frequently-bought-together\/assets\/screenshot-3.png?rev=3459780","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>DL Frequently Bought Together<\/strong> adds a simple, flexible upsell system to WooCommerce product pages, allowing store owners to group products that are commonly purchased together.<\/p>\n\n<p>Each product can define its own \u201cFrequently Bought Together\u201d set from within the product editor. On the frontend, customers can select which products to include, choose variations where applicable, and add everything to the basket in a single action.<\/p>\n\n<p>Pricing updates dynamically and supports mixed VAT rules (some products taxable, others not).<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Add a <strong>Frequently Bought Together<\/strong> panel to product pages<\/li>\n<li>Select bundled products directly in the product editor<\/li>\n<li>Supports <strong>simple and variable products<\/strong><\/li>\n<li>Dynamic total price calculation (incl. &amp; excl. VAT)<\/li>\n<li>One-click \u201cAdd all to basket\u201d button<\/li>\n<li>Automatically excludes unavailable or out-of-stock variations<\/li>\n<li>Lightweight, no frontend dependencies<\/li>\n<\/ul>\n\n\n\n<h3>How It Works<\/h3>\n\n<h3>Admin (Product Editor)<\/h3>\n\n<ol>\n<li>Edit any WooCommerce product<\/li>\n<li>Open the <strong>Frequently Bought Together<\/strong> tab<\/li>\n<li>Select one or more products to associate<\/li>\n<li>Save the product<\/li>\n<\/ol>\n\n<p>Each product has its own independent bundle configuration.<\/p>\n\n<h3>Frontend (Product Page)<\/h3>\n\n<ul>\n<li>The bundle appears below the product summary<\/li>\n<li>Customers can:\n\n<ul>\n<li>Toggle items on\/off<\/li>\n<li>Select variations where required<\/li>\n<\/ul><\/li>\n<li>Prices update instantly as selections change<\/li>\n<li>Clicking <strong>Add all to basket<\/strong> adds all selected items to the basket<\/li>\n<\/ul>\n\n\n\n<h3>Variable Products<\/h3>\n\n<p>Variable products always default to a valid, purchasable variation to avoid ambiguous pricing or invalid selections.<\/p>\n\n<p>If no purchasable variations exist, the product is excluded from the bundle entirely.<\/p>\n\n\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WooCommerce 6.0+<\/li>\n<li>PHP 8.3+<\/li>\n<li>JavaScript enabled on the frontend<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate <strong>DL Frequently Bought Together<\/strong> via the Plugins menu<\/li>\n<li>Edit a product and configure the bundle via the new tab<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20woocommerce%20cross-sells%20or%20related%20products%3F\"><h3>Does this replace WooCommerce cross-sells or related products?<\/h3><\/dt>\n<dd><p>No. This is a separate, opt-in bundle system shown directly on product pages.<\/p><\/dd>\n<dt id=\"can%20i%20style%20it%20to%20match%20my%20theme%3F\"><h3>Can I style it to match my theme?<\/h3><\/dt>\n<dd><p>Yes. All markup uses scoped CSS classes (<code>.dl-fbt__*<\/code>) and inherits theme colours where possible.<\/p><\/dd>\n<dt id=\"does%20it%20support%20taxes%20and%20mixed%20vat%20products%3F\"><h3>Does it support taxes and mixed VAT products?<\/h3><\/dt>\n<dd><p>Yes. Totals are calculated using WooCommerce\u2019s tax APIs and correctly handle mixed tax statuses.<\/p><\/dd>\n<dt id=\"can%20i%20include%20variable%20products%3F\"><h3>Can I include variable products?<\/h3><\/dt>\n<dd><p>Yes. Only purchasable, in-stock variations are included, and a valid variation is always selected.<\/p><\/dd>\n<dt id=\"can%20i%20include%20products%20that%20use%20third-party%20add-ons%20or%20custom%20fields%3F\"><h3>Can I include products that use third-party add-ons or custom fields?<\/h3><\/dt>\n<dd><p>Products that require additional input (such as custom fields added by other plugins) may behave differently depending on how those plugins integrate with WooCommerce. For the most predictable experience, Frequently Bought Together works best with standard simple and variable products.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Hardened input handling and nonce validation to meet WordPress.org review guidelines.<\/li>\n<li>Improved sanitization and validation of frontend and admin POST data.<\/li>\n<li>Renamed localized JavaScript object to a fully-qualified, plugin-specific name.<\/li>\n<li>Internal code quality improvements.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Refactor: Improved internal code structure (class-based modules) for better maintainability.<\/li>\n<li>Tweak: Cart\/checkout notice assets are now loaded only where needed.<\/li>\n<li>No functional changes intended.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Frequently Bought Together bundles<\/li>\n<li>Dynamic pricing (incl. &amp; excl. VAT)<\/li>\n<li>Variable product support<\/li>\n<li>One-click add-to-cart<\/li>\n<li>Admin product editor integration<\/li>\n<\/ul>","raw_excerpt":"Adds a \u201cFrequently Bought Together\u201d bundle section to WooCommerce product pages, with dynamic pricing and one-click add-to-cart.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/279968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=279968"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/digitallychee"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=279968"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=279968"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=279968"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=279968"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=279968"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=279968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}