Every offer set has an Offer Type. The default and currently supported type is Book Offer, which generates the format relationships documented below. Existing offer sets are assigned Book Offer automatically by the one-time 1.1.0 upgrade without changing their mappings, discounts, wording, or appearance.
The editor displays Offer Type as a read-only value. This keeps an existing set from silently changing its rule behavior. Bulk import creates Book Offer sets only.
Bulk import creates published offer sets using the global discount and presentation defaults. Bundle mappings are intentionally left empty because most titles do not need them.
The plugin compiles the same required-product, excluded-product, offered-product, and percentage data used by DK Cart Offers. The eBook and audiobook pair offers require both digital formats and are invalid when any print format is in the cart. A print format can trigger the configured discount on qualifying digital formats. A print offer is not shown when another paperback or hardback for that title is already present, including alternate hardback variations.
Bundle exclusions are format-specific. A bundle invalidates only offers for the formats marked as contained in that bundle.
If selected products or variations change later, the Needs Update view on the Cart Offer Sets list displays the number of affected sets and filters the list to those records. Select stale sets and choose Update Mappings from the Bulk actions menu to refresh them while preserving their settings. The editor also identifies an affected offer set as out of date so its roles can be reviewed and regenerated.
Book Offer Defaults controls the default checkbox text, wording, colors, image display, price display, and discount percentages. Colors use the standard WordPress color picker. Individual offer sets can override these defaults with the same controls.
Print-offer wording has separate editable templates for titles with an eBook only, an audiobook only, or both digital formats. This keeps the message accurate without assuming a format exists.
The cart displays every valid offer in a responsive carousel, showing up to two offers on wider layouts and one offer on narrow layouts. Customers can swipe, use a trackpad, use the Previous and Next controls, or navigate with the left and right arrow keys. The scrollbar is intentionally hidden because those controls remain available.
Offer-card calculations always start with the product's regular retail price. A full-retail offer price uses normal styling; only an actual discounted price uses the configured offer-price styling. When an offer is accepted, a lower existing catalog price or product/variation Discount % continues to win over a weaker cart-offer discount.
Internal bundle child rows are excluded from matching only when the bundle plugin marks them as children. A separately added product remains eligible even when its SKU matches a component inside a bundle.
When multiple products share a broad format role, such as two hardcover bindings, their offer cards use the exact catalog format so each choice is clear. If overlapping offer sets target the same product, only the highest-priority matching offer is displayed.
Dismissing an offer hides it for the remainder of the WooCommerce session, including after the cart changes. When a currently valid offer is dismissed, Show dismissed offers appears below the carousel navigation and restores the session's dismissed offers.
Both plugins can be installed for comparison. While DK Cart Offers is active, this plugin leaves its editor available but disables its cart runtime to prevent duplicate offers and pricing.