When I set product discounts through B2BKing Dynamic Rules, the Sale badge and discounted price are shown correctly on simple products.
However, for variable products (products with attributes like different sizes/volumes), the shop/archive card does not show the discount — it either shows the regular price or just the “SALE” badge inconsistently. Only products without any attributes display the discount as expected.
Steps to reproduce
Create a variable product with multiple attributes (e.g., sizes).
Create a Dynamic Rule (e.g., Discount % or Set Price) targeting that product or its category for a B2B group.
View the product in the shop / archive grid.
Compare with a simple product affected by the same rule.
Expected behavior
The discounted price and Sale badge should be visible on the archive card for variable products (same as for simple products), using the rule-adjusted price for the default/lowest-price variation.
Actual behavior
On variable products:
The Sale badge sometimes appears but the discounted price doesn’t.
In other cases, neither the badge nor the discounted price appears in the archive; the discount is visible only on the single product page after selecting a variation.
On simple products: both the badge and discounted price display correctly.
Notes / Environment
Theme: Woodmart
Cache: WP Rocket (logged-in user cache disabled)
WooCommerce + B2BKing Pro (latest versions)
Issue occurs for products with multiple attributes (e.g., different sizes/quantities).
Questions
Is there a known limitation for showing Dynamic Rule discounts on variable products in the archive loop?
Is there a recommended hook/filter to force the archive card to use the rule-adjusted variation price (e.g., default variation) so the Sale badge and price render correctly?
If there’s a snippet or setting to enable “calculate sale for variable products in loop”, could you share it?
I can provide product IDs or a staging login if needed.
When I set product discounts through B2BKing Dynamic Rules, the Sale badge and discounted price are shown correctly on simple products.
Steps to reproduceHowever, for variable products (products with attributes like different sizes/volumes), the shop/archive card does not show the discount — it either shows the regular price or just the “SALE” badge inconsistently. Only products without any attributes display the discount as expected.
-
-
-
-
Expected behaviorCreate a variable product with multiple attributes (e.g., sizes).
Create a Dynamic Rule (e.g., Discount % or Set Price) targeting that product or its category for a B2B group.
View the product in the shop / archive grid.
Compare with a simple product affected by the same rule.
-
Actual behaviorThe discounted price and Sale badge should be visible on the archive card for variable products (same as for simple products), using the rule-adjusted price for the default/lowest-price variation.
-
-
-
-
Notes / EnvironmentOn variable products:
The Sale badge sometimes appears but the discounted price doesn’t.
In other cases, neither the badge nor the discounted price appears in the archive; the discount is visible only on the single product page after selecting a variation.
On simple products: both the badge and discounted price display correctly.
-
-
-
-
QuestionsTheme: Woodmart
Cache: WP Rocket (logged-in user cache disabled)
WooCommerce + B2BKing Pro (latest versions)
Issue occurs for products with multiple attributes (e.g., different sizes/quantities).
Is there a known limitation for showing Dynamic Rule discounts on variable products in the archive loop?
Is there a recommended hook/filter to force the archive card to use the rule-adjusted variation price (e.g., default variation) so the Sale badge and price render correctly?
If there’s a snippet or setting to enable “calculate sale for variable products in loop”, could you share it?
I can provide product IDs or a staging login if needed.
Attached files: Ekrano kopija 2025-11-05 133716.png