{"id":225144,"date":"2025-03-26T12:56:32","date_gmt":"2025-03-26T12:56:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/riaco-frequently-bought-together-for-woocommerce\/"},"modified":"2026-06-06T23:17:42","modified_gmt":"2026-06-06T23:17:42","slug":"frequently-bought-together-woo","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/frequently-bought-together-woo\/","author":8872771,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"7.0","requires":"6.3","requires_php":"7.2","requires_plugins":null,"header_name":"RIACO Frequently Bought Together for WooCommerce","header_author":"Roberto Iacono","header_description":"Add Frequently Bought Together box in product page","assets_banners_color":"527fba","last_updated":"2026-06-06 23:17:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.robertoiacono.it\/frequently-bought-together-woo\/","header_author_uri":"https:\/\/riacoplugins.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":599,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"prototipo88","date":"2025-07-04 14:49:26"},"1.1.0":{"tag":"1.1.0","author":"prototipo88","date":"2026-06-06 13:25:38"},"1.1.1":{"tag":"1.1.1","author":"prototipo88","date":"2026-06-06 23:17:42"}},"upgrade_notice":{"1.1.0":"<p>Version 1.1.0 adds an analytics dashboard, layout presets, full box style controls, and clickable product links in the widget. No database migration required \u2014 update and the new features are immediately available.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3563749,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3563749,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3563158,"resolution":"772x250","location":"assets","locale":"","width":2204,"height":713}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.gif":{"filename":"screenshot-1.gif","revision":3563158,"resolution":"1","location":"assets","locale":"","width":1366,"height":640},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3563158,"resolution":"2","location":"assets","locale":"","width":724,"height":285},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3563158,"resolution":"3","location":"assets","locale":"","width":841,"height":578},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3563158,"resolution":"4","location":"assets","locale":"","width":872,"height":443},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3563158,"resolution":"5","location":"assets","locale":"","width":661,"height":424},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3563158,"resolution":"6","location":"assets","locale":"","width":486,"height":715},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3563158,"resolution":"7","location":"assets","locale":"","width":748,"height":526},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3563158,"resolution":"8","location":"assets","locale":"","width":1170,"height":375}},"screenshots":{"1":"The \"Frequently Bought Together\" widget demo.","2":"The \"Frequently Bought Together\" widget on the frontend of a WooCommerce product page, showing product images, a real-time price calculator, and the bundle add-to-cart button.","3":"The shopping cart showing the bundle items and the automatically applied \"Bundle Discount\" fee line, making savings transparent to the shopper.","4":"The \"Frequently Bought Together\" tab inside the WooCommerce product editor, where you search and select companion products and configure the bundle discount type and value.","5":"The plugin Settings page showing the three widget position options and the two layout presets (Default, Stacked).","6":"The Style settings panel with color pickers for button colors, text colors, savings text color, box background, padding, and border radius.","7":"The Shortcode reference page in wp-admin showing usage examples with all supported parameters.","8":"The Analytics dashboard summary cards showing total impressions, cart adds, conversion rate, cart revenue, and order revenue at a glance. Also the Analytics per-product breakdown table showing metrics for each product."}},"plugin_section":[],"plugin_tags":[266040,31086,139790,1311,286],"plugin_category":[45],"plugin_contributors":[238641],"plugin_business_model":[],"class_list":["post-225144","plugin","type-plugin","status-publish","hentry","plugin_tags-bundle-discount","plugin_tags-frequently-bought-together","plugin_tags-product-recommendations","plugin_tags-upsell","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-prototipo88","plugin_committers-prototipo88"],"banners":{"banner":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/banner-772x250.png?rev=3563158","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/icon-128x128.png?rev=3563749","icon_2x":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/icon-256x256.png?rev=3563749","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-1.gif?rev=3563158","caption":"The \"Frequently Bought Together\" widget demo."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-2.png?rev=3563158","caption":"The \"Frequently Bought Together\" widget on the frontend of a WooCommerce product page, showing product images, a real-time price calculator, and the bundle add-to-cart button."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-3.png?rev=3563158","caption":"The shopping cart showing the bundle items and the automatically applied \"Bundle Discount\" fee line, making savings transparent to the shopper."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-4.png?rev=3563158","caption":"The \"Frequently Bought Together\" tab inside the WooCommerce product editor, where you search and select companion products and configure the bundle discount type and value."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-5.png?rev=3563158","caption":"The plugin Settings page showing the three widget position options and the two layout presets (Default, Stacked)."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-6.png?rev=3563158","caption":"The Style settings panel with color pickers for button colors, text colors, savings text color, box background, padding, and border radius."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-7.png?rev=3563158","caption":"The Shortcode reference page in wp-admin showing usage examples with all supported parameters."},{"src":"https:\/\/ps.w.org\/frequently-bought-together-woo\/assets\/screenshot-8.png?rev=3563158","caption":"The Analytics dashboard summary cards showing total impressions, cart adds, conversion rate, cart revenue, and order revenue at a glance. Also the Analytics per-product breakdown table showing metrics for each product."}],"raw_content":"<!--section=description-->\n<p><strong>Turn every product page into a revenue opportunity.<\/strong> RIACO Frequently Bought Together for WooCommerce adds a \"Frequently Bought Together\" widget directly on your product pages. Shoppers see a curated set of complementary products, tick the ones they want, and add the whole bundle in a single click \u2014 with a real-time price and savings calculator updating as they choose.<\/p>\n\n<p>Whether you want simple cross-sell suggestions or a full bundle discount strategy with conversion tracking, this plugin gives you the tools without the bloat.<\/p>\n\n<h4>Why store owners choose this plugin<\/h4>\n\n<p><strong>Immediate revenue impact<\/strong> \u2014 The widget surfaces at-a-glance product recommendations at the moment of highest purchase intent. Well-placed cross-sell and upsell prompts consistently increase average order value in WooCommerce stores.<\/p>\n\n<p><strong>Automatic bundle discounts<\/strong> \u2014 Set a percentage or fixed discount per product. The discount applies to the cart automatically when the full bundle is present, and disappears cleanly if the shopper removes an item. No coupon codes. No manual steps.<\/p>\n\n<p><strong>Proof the widget is working<\/strong> \u2014 The built-in analytics dashboard tracks impressions, cart additions, conversion rate, cart revenue, and order revenue \u2014 broken down per product. A milestone notice appears in wp-admin when the plugin crosses revenue thresholds, so you can see ROI without leaving WordPress.<\/p>\n\n<h4>Core features<\/h4>\n\n<p><strong>Widget &amp; display<\/strong><\/p>\n\n<ul>\n<li>Frequently Bought Together widget on WooCommerce single product pages<\/li>\n<li>Real-time JavaScript price calculator shows bundle total and savings as shoppers tick products<\/li>\n<li>Product image and title are clickable links to the product page (open in new tab)<\/li>\n<li>Shortcode <code>[fbtwoo_form product_id=\"\"]<\/code> embeds the widget on any page, post, or custom template<\/li>\n<\/ul>\n\n<p><strong>Bundle discounts<\/strong><\/p>\n\n<ul>\n<li>Per-product discount configuration: percentage (%) or fixed amount<\/li>\n<li>Discount auto-applies to the cart fee line when the complete bundle is present<\/li>\n<li>Discount auto-removes if any bundle item is removed from the cart<\/li>\n<li>Clearly labeled \"Bundle Discount\" line item in the cart and checkout<\/li>\n<\/ul>\n\n<p><strong>Display options<\/strong><\/p>\n\n<ul>\n<li>3 widget positions: Below Product Summary, Above Product Tabs, Below Product Tabs<\/li>\n<li>2 layout presets: Default (horizontal) and Stacked (vertical) \u2014 switchable without code<\/li>\n<li>Full style customization panel: button color, button hover color, button text color, button text hover color, savings text color, box background color, box padding, box border radius<\/li>\n<\/ul>\n\n<p><strong>Analytics dashboard<\/strong><\/p>\n\n<ul>\n<li>Impressions tracked once per browser session per product page<\/li>\n<li>Cart add events recorded with associated revenue<\/li>\n<li>Order revenue tracked per FBT product from completed WooCommerce orders<\/li>\n<li>Per-product breakdown table with conversion rate column<\/li>\n<li>One-click stats reset<\/li>\n<\/ul>\n\n<p><strong>Developer &amp; compatibility<\/strong><\/p>\n\n<ul>\n<li>WooCommerce HPOS (High-Performance Order Storage) fully compatible<\/li>\n<li>Accessibility: ARIA labels and screen-reader text throughout the widget<\/li>\n<li>Frontend product data served from WordPress object cache<\/li>\n<li>Clean uninstall: optionally removes all plugin data on deactivation<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open any product in the WooCommerce editor and go to the <strong>Frequently Bought Together<\/strong> tab.<\/li>\n<li>Search for and select the companion products you want to recommend.<\/li>\n<li>Optionally enable a bundle discount and set the type and value.<\/li>\n<li>Save the product. The widget appears immediately on the frontend.<\/li>\n<li>Monitor performance in <strong>RIACO FBT &gt; Analytics<\/strong>.<\/li>\n<\/ol>\n\n<h4>Shortcode reference<\/h4>\n\n<pre><code>[fbtwoo_form product_id=\"42\"]\n<\/code><\/pre>\n\n\n\n\n  Parameter\n  Default\n  Description\n\n\n\n\n  <code>product_id<\/code>\n  Current product\n  ID of the product whose FBT widget to display\n\n\n  <code>title<\/code>\n  \"Frequently Bought Together\"\n  Custom heading for the widget\n\n\n  <code>class<\/code>\n  empty\n  Extra CSS class(es) added to the widget wrapper\n\n\n  <code>style<\/code>\n  empty\n  Inline CSS styles for the widget wrapper\n\n<!--section=installation-->\n<h4>From the WordPress plugin directory (recommended)<\/h4>\n\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for \"RIACO Frequently Bought Together\".<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin zip from WordPress.org.<\/li>\n<li>In your WordPress admin, go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Choose the zip file and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>First-time setup<\/h4>\n\n<ol>\n<li>Go to <strong>RIACO FBT &gt; Settings<\/strong> to configure the widget position, layout preset, and style.<\/li>\n<li>Edit any WooCommerce product and open the <strong>Frequently Bought Together<\/strong> tab.<\/li>\n<li>Search for companion products and add them to the list.<\/li>\n<li>To offer a bundle discount, check <strong>Apply Discount<\/strong>, choose <strong>Percentage<\/strong> or <strong>Fixed<\/strong>, and enter the value.<\/li>\n<li>Click <strong>Update<\/strong> to save the product. The widget is now live on the frontend.<\/li>\n<li>Use <strong>RIACO FBT &gt; Shortcode<\/strong> to copy the shortcode for embedding in a custom location.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and active. The plugin will not activate without it.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20compatible%20with%20woocommerce%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Is this plugin compatible with WooCommerce HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares full HPOS compatibility and uses the WooCommerce order API throughout, so it works correctly whether you use the legacy post-based order storage or the modern custom order tables.<\/p><\/dd>\n<dt id=\"how%20does%20the%20bundle%20discount%20work%20exactly%3F\"><h3>How does the bundle discount work exactly?<\/h3><\/dt>\n<dd><p>You set a discount per product in the product editor. When a shopper adds the complete bundle (the main product plus all linked FBT products) to the cart, the plugin automatically applies a negative cart fee labeled \"Bundle Discount\". If the shopper removes any item from the bundle, the discount is removed immediately. No coupon code is needed.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20automatically%20suggest%20products%2C%20or%20do%20i%20need%20to%20configure%20each%20product%20manually%3F\"><h3>Does the plugin automatically suggest products, or do I need to configure each product manually?<\/h3><\/dt>\n<dd><p>The plugin does not auto-generate suggestions. You configure the \"Frequently Bought Together\" products manually for each product in the product editor. This gives you full control over which products are recommended together \u2014 you know your catalog and your customers better than any algorithm does. Open any product, go to the <strong>Frequently Bought Together<\/strong> tab, and use the search field to pick the companion products you want to show alongside it.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20widget%20in%20a%20custom%20location%20on%20the%20page%3F\"><h3>Can I show the widget in a custom location on the page?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode <code>[fbtwoo_form product_id=\"42\"]<\/code> (replace 42 with your product ID) to embed the widget anywhere a shortcode is accepted: pages, posts, custom templates, or page builder blocks. The widget inherits all your global style settings.<\/p><\/dd>\n<dt id=\"can%20i%20change%20what%20the%20widget%20looks%20like%20without%20writing%20css%3F\"><h3>Can I change what the widget looks like without writing CSS?<\/h3><\/dt>\n<dd><p>Yes. The <strong>Style<\/strong> tab in <strong>RIACO FBT &gt; Settings<\/strong> lets you configure button colors (normal and hover states), button text colors, the savings text color, the widget box background color, padding, and border radius \u2014 all through color pickers and number inputs, no code required. For deeper customization you can also add your own CSS targeting the <code>.fbtwoo-form-container<\/code> wrapper.<\/p><\/dd>\n<dt id=\"what%20layout%20options%20are%20available%3F\"><h3>What layout options are available?<\/h3><\/dt>\n<dd><p>Two layout presets are available: <strong>Default<\/strong> (products displayed in a horizontal row) and <strong>Stacked<\/strong> (products displayed in a vertical list). Switch between them in <strong>RIACO FBT &gt; Settings &gt; Layout<\/strong>. Both layouts are responsive.<\/p><\/dd>\n<dt id=\"what%20does%20the%20analytics%20dashboard%20track%3F\"><h3>What does the Analytics dashboard track?<\/h3><\/dt>\n<dd><p>The Analytics dashboard (under <strong>RIACO FBT &gt; Analytics<\/strong>) records:<\/p>\n\n<ul>\n<li><strong>Impressions<\/strong> \u2014 how many times the widget was displayed (counted once per browser session per product page)<\/li>\n<li><strong>Cart Adds<\/strong> \u2014 how many times the bundle was added to the cart via the widget<\/li>\n<li><strong>Conversion Rate<\/strong> \u2014 cart adds divided by impressions, as a percentage<\/li>\n<li><strong>Cart Revenue<\/strong> \u2014 total value of products added to cart through the widget<\/li>\n<li><strong>Order Revenue<\/strong> \u2014 actual revenue from completed WooCommerce orders that included FBT bundle items<\/li>\n<\/ul>\n\n<p>All metrics are broken down per parent product so you can see which products drive the most cross-sell revenue.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20store%3F\"><h3>Does this plugin slow down my store?<\/h3><\/dt>\n<dd><p>No. On the frontend, FBT product data is stored in the WordPress object cache after the first load, so repeat requests do not hit the database. Analytics impressions are tracked asynchronously via AJAX so they do not block page rendering. The plugin loads its assets only on product pages where the widget is active.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: Analytics dashboard tracking impressions, cart adds, conversion rate, cart revenue, and order revenue per product.<\/li>\n<li>New: Order-level revenue attribution \u2014 completed order line items originating from the FBT widget are recorded and surfaced in the Analytics dashboard.<\/li>\n<li>New: Revenue milestone admin notice and soft review request when the plugin crosses a revenue threshold.<\/li>\n<li>New: Layout presets \u2014 choose between Default (horizontal) and Stacked (vertical) arrangements in Settings.<\/li>\n<li>New: Box style controls \u2014 background color, padding, and border radius added to the Style settings panel.<\/li>\n<li>New: Product image and title in the FBT widget are now clickable links to the product page (open in a new tab).<\/li>\n<li>New: Dedicated admin menu (\"RIACO FBT\") with Settings, Shortcode, and Analytics sub-pages.<\/li>\n<li>Improvement: Frontend product data cached via WordPress object cache to reduce database queries.<\/li>\n<li>Improvement: Accessibility improvements \u2014 ARIA labels and screen-reader text added to interactive widget elements.<\/li>\n<li>Fix: Various UI and functional bug fixes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Boost WooCommerce average order value with a &quot;Frequently Bought Together&quot; widget, automatic bundle discounts, and built-in analytics.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/225144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=225144"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/prototipo88"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=225144"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=225144"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=225144"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=225144"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=225144"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=225144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}