Description
Cross-Sell with Discounts for WooCommerce shows the right add-on products at the moment customers are ready to buy — in the mini-cart, on the cart page, and at checkout — with an optional automatic discount and a savings badge.
You decide which products are suggested and which category triggers them. As soon as a customer has a product from a trigger category in the cart, the matching cross-sell products appear as one-click suggestions. The discount applies automatically while a trigger product is in the cart, and disappears when it is removed — no coupon codes needed.
The plugin is theme-neutral: it uses the standard WooCommerce mini-cart hook and works with Storefront, Astra, Kadence and other common themes. For themes without a matching mini-cart hook (or block themes), a shortcode and a block are provided. Optional adapters keep full compatibility with the Flatsome theme and the WooFood plugin.
Key features
- Category-based cross-sell suggestions — configure the trigger category per product.
- Optional automatic discount per product (0–100 %), shown with a struck-through original price and a savings badge.
- One-click “add to cart” without a page reload (AJAX), including in the block checkout (Store API).
- Suggestions in the mini-cart, on the cart page, and at checkout — each location can be toggled on or off individually.
- Per-page rule to hide suggestions once a cross-sell product is already in the cart.
- A global heading above the suggestions, plus per-product short description, image, and link options.
- Works with the classic and the block-based cart/checkout.
- HPOS (High-Performance Order Storage) compatible.
- Query result caching with automatic invalidation for fast mini-cart and checkout on large catalogs.
- Diagnostics tab explaining why suggestions do (or do not) appear, with a preview simulation that never touches the live cart.
How the discount works
The discount is a price reduction on the cart item, not a WooCommerce coupon, so it combines cleanly with coupons. An active sale price stays the basis: the cross-sell discount is calculated from the lower of the regular and sale price and never undercuts the sale price.
Pro add-on
A separate Pro add-on adds role-based discounts: give individual user roles an extra discount on cross-sell products, configurable per role (percentage and “add” or “replace” mode), with optional per-product overrides. The free plugin works fully on its own; the Pro add-on is optional.
Blocks
This plugin provides 1 block.
- Wccs Suggestions
Installation
- Upload the
cross-sell-with-discounts-for-woocommercefolder to/wp-content/plugins/, or install it through the WordPress Plugins screen. - Activate the plugin through the Plugins menu in WordPress. WooCommerce must be installed and active.
- Configure suggestions on two levels:
- Per product (Cross-Selling tab in the product editor): enable the product as a suggestion, set an optional discount, priority, short description, and the trigger categories.
- Per category (category editor): enable the category as a trigger and set how many suggestions it contributes.
- Set the global display under WooCommerce Cross-Sell: heading, button label/icon, display locations (mini-cart / cart / checkout), and performance/caching options.
FAQ
-
Does it work with my theme?
-
Yes. The plugin uses the standard WooCommerce mini-cart hook and works with common themes such as Storefront, Astra, and Kadence. For themes without a matching mini-cart hook or for block themes, use the
[wccs_cross_sell]shortcode or the “Cross-Sell Suggestions” block. A dedicated adapter keeps full Flatsome compatibility. -
Does it support the block-based cart and checkout?
-
Yes. Suggestions are rendered after the checkout block (hydration-safe), and adding a product refreshes the Store API cart and totals without a page reload.
-
Is the discount a coupon?
-
No. It is a price reduction applied to the cart item, so it combines cleanly with WooCommerce coupons. A trigger product must be in the cart for the discount to apply.
-
What happens to my data when I uninstall?
-
Deleting the plugin (not just deactivating it) removes all of its data: the settings option, product metas, and category metas — multisite-wide. There are no custom tables or cron events.
-
Can I give specific user roles an extra discount?
-
That is provided by the optional Pro add-on (role-based discounts, per role, with per-product overrides). The free plugin does not include role discounts.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Cross-Sell with Discounts for WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“Cross-Sell with Discounts for WooCommerce” has been translated into 2 locales. Thank you to the translators for their contributions.
Translate “Cross-Sell with Discounts for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.13.2
- New: The per-category “Max. suggestions” limit can now be set up to 20 (previously capped at 3).
- Improved: Clearer settings labels and descriptions (cache suggestions, add-to-cart button, prefetch), with consistent “Cross-Sell suggestions” wording.
1.13.1
- Redesigned the plugin settings screen with a modern, card-based layout that is easier to scan and visually consistent with the Pro add-on. No settings or behaviour changed.
1.13.0
- Added two extension hooks for add-ons:
wccs_after_heading(right after the suggestions heading) andwccs_item_badge(inside each suggestion card). They are used by the optional Pro add-on’s info badge and have no visible effect on their own.
1.12.0
- Initial public release on WordPress.org.
- Category-based cross-sell suggestions with optional per-product discount and savings badge.
- Theme-neutral rendering with a shortcode and block; optional Flatsome and WooFood adapters.
- Classic and block-based cart/checkout support; HPOS compatible.
- Per-location display toggles (mini-cart / cart / checkout) and per-page “limit” rules.
- Global heading, query caching with automatic invalidation, and a diagnostics tab.