{"id":392023,"date":"2026-11-06T09:19:01","date_gmt":"2026-11-06T09:19:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/extnify-offer-rules-for-woocommerce\/"},"modified":"2026-11-06T09:18:47","modified_gmt":"2026-11-06T09:18:47","slug":"extnify-offer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/extnify-offer\/","author":23554136,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Extnify Offer Rules for WooCommerce","header_author":"Extnify Labs LLC","header_description":"Selectable offers for WooCommerce \u2014 let customers pick discounts or add-ons at checkout, gated by shipping zone, payment or shipping method.","assets_banners_color":"ded5ff","last_updated":"2026-11-06 09:18:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/extnify.com\/platforms\/woocommerce","header_author_uri":"https:\/\/extnify.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":135,"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":"extnify","date":"2026-11-06 09:18:47","revision":3787572}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3787572,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3787572,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3787572,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3787572,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3787572,"resolution":"1","location":"assets","locale":"","width":3699,"height":1112},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3787572,"resolution":"2","location":"assets","locale":"","width":3699,"height":1112},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3787572,"resolution":"3","location":"assets","locale":"","width":3680,"height":1189},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3787572,"resolution":"4","location":"assets","locale":"","width":3107,"height":1701},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3787572,"resolution":"5","location":"assets","locale":"","width":3091,"height":1240},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3787572,"resolution":"6","location":"assets","locale":"","width":3661,"height":1802}},"screenshots":{"1":"Global settings and your list of offers.","2":"Creating an offer \u2014 general settings, amount and Default Select.","3":"Generic Rules \u2014 shipping zone, payment and shipping method eligibility.","4":"The \"Recommended Offers\" box on the cart.","5":"A selected offer shown on the checkout totals.","6":"Built-in Help &amp; Support with the live debug log."}},"plugin_section":[],"plugin_tags":[3148,331,11660,1311,286],"plugin_category":[45],"plugin_contributors":[278991],"plugin_business_model":[],"class_list":["post-392023","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-discount","plugin_tags-offers","plugin_tags-upsell","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-extnify","plugin_committers-extnify"],"banners":{"banner":"https:\/\/ps.w.org\/extnify-offer\/assets\/banner-772x250.png?rev=3787572","banner_2x":"https:\/\/ps.w.org\/extnify-offer\/assets\/banner-1544x500.png?rev=3787572","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/extnify-offer\/assets\/icon-128x128.png?rev=3787572","icon_2x":"https:\/\/ps.w.org\/extnify-offer\/assets\/icon-256x256.png?rev=3787572","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/extnify-offer\/assets\/screenshot-1.png?rev=3787572","caption":"Global settings and your list of offers."},{"src":"https:\/\/ps.w.org\/extnify-offer\/assets\/screenshot-2.png?rev=3787572","caption":"Creating an offer \u2014 general settings, amount and Default Select."},{"src":"https:\/\/ps.w.org\/extnify-offer\/assets\/screenshot-3.png?rev=3787572","caption":"Generic Rules \u2014 shipping zone, payment and shipping method eligibility."},{"src":"https:\/\/ps.w.org\/extnify-offer\/assets\/screenshot-4.png?rev=3787572","caption":"The \"Recommended Offers\" box on the cart."},{"src":"https:\/\/ps.w.org\/extnify-offer\/assets\/screenshot-5.png?rev=3787572","caption":"A selected offer shown on the checkout totals."},{"src":"https:\/\/ps.w.org\/extnify-offer\/assets\/screenshot-6.png?rev=3787572","caption":"Built-in Help &amp; Support with the live debug log."}],"raw_content":"<!--section=description-->\n<p><strong>Extnify Offer Rules<\/strong> lets you present <strong>selectable offers<\/strong> on the cart and checkout \u2014 discounts the customer can claim, or optional paid add-ons they can choose. Unlike an automatic fee, each offer is shown in a <strong>\"Recommended Offers\"<\/strong> box and only applies when the customer selects it (or when you mark it selected by default).<\/p>\n\n<p>Create as many offers as you need, decide exactly when each one is eligible, and let shoppers pick one or several. The totals update instantly as they choose.<\/p>\n\n<p><a href=\"https:\/\/extnify.com\/docs\/woocommerce\/extnify-offer-rules\">Read the documentation \u00bb<\/a> | <a href=\"https:\/\/wc-dev.extnify.com\/?auto_login=extnify-offer\">Try the live demo \u00bb<\/a><\/p>\n\n\n\n<h4>What you can do with Extnify Offer Rules<\/h4>\n\n<ul>\n<li>Offer a <strong>claimable discount<\/strong> the customer ticks to apply.<\/li>\n<li>Offer an <strong>optional paid add-on<\/strong> (gift wrap, priority handling, insurance).<\/li>\n<li>Let customers pick <strong>one offer or several<\/strong>.<\/li>\n<li><strong>Pre-select<\/strong> an offer so it applies unless the customer removes it.<\/li>\n<li>Show offers <strong>only<\/strong> for a certain shipping zone, payment method or shipping method.<\/li>\n<li>Set the amount as a <strong>flat value or a percentage<\/strong> of the subtotal.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Create an offer with an amount \u2014 a <strong>negative<\/strong> amount is a discount the customer can claim; a <strong>positive<\/strong> amount is an optional add-on charge.<\/li>\n<li>Choose when it's eligible (shipping zone, payment method, shipping method).<\/li>\n<li>The eligible offers appear in a <strong>Recommended Offers<\/strong> box on the cart and checkout; the customer ticks the ones they want and the totals update instantly.<\/li>\n<\/ol>\n\n<h4>Selectable offers<\/h4>\n\n<p>Offers aren't forced on the customer. Each eligible one is listed in the Recommended Offers box, and the customer decides. Choose whether they can pick <strong>one<\/strong> offer or <strong>several<\/strong>, and optionally <strong>pre-select<\/strong> an offer so it applies by default unless they opt out.<\/p>\n\n<h4>Discounts or add-ons<\/h4>\n\n<p>One form creates both. A <strong>negative<\/strong> amount (for example <code>-10<\/code> or <code>-10%<\/code>) is a discount shown as a reduction when selected. A <strong>positive<\/strong> amount is an optional add-on charge. Enter a plain number for a fixed value, or add a trailing <code>%<\/code> for a percentage of the cart subtotal.<\/p>\n\n<h4>Conditional eligibility<\/h4>\n\n<p>Each offer only appears when the cart matches the rules you set. The free version gates offers by:<\/p>\n\n<ul>\n<li><strong>Shipping zone<\/strong> \u2014 the WooCommerce zone the destination falls in.<\/li>\n<li><strong>Payment method<\/strong> \u2014 the gateway chosen at checkout.<\/li>\n<li><strong>Shipping method<\/strong> \u2014 the shipping option chosen (Extnify Shipping Rules methods are listed here individually if you run it too).<\/li>\n<\/ul>\n\n<h4>Placement and heading<\/h4>\n\n<p>Choose where the offers row sits in the totals \u2014 after the subtotal, before tax, or before the total \u2014 and set your own heading above it (default: \"Recommended Offers\").<\/p>\n\n<h4>Tax handling<\/h4>\n\n<p>Pick a tax class per offer, or set it to <strong>None<\/strong> for a non-taxable offer. Offer tax follows your WooCommerce tax settings.<\/p>\n\n<h4>Easy management<\/h4>\n\n<p>Create, enable, disable, copy, delete and bulk-save all your offers from one screen, and set the order they're listed in. New offers appear in the sidebar instantly and are written to the database when you save.<\/p>\n\n<h4>Live debugging<\/h4>\n\n<p>When an offer doesn't appear and you're not sure why, turn on the built-in debug log. For each offer it reports whether its rules passed or failed, the resolved amount, and whether it was shown or skipped \u2014 so you can see exactly which rule filtered it out. The log is stored in your own database (never a file, never sent anywhere) and can be cleared with one click.<\/p>\n\n<h4>Works everywhere WooCommerce does<\/h4>\n\n<p>The Recommended Offers box renders on both the <strong>classic<\/strong> checkout and the <strong>block<\/strong> (Store API) cart and checkout, and the totals stay correct on both.<\/p>\n\n<h4>Built for speed and privacy<\/h4>\n\n<ul>\n<li><strong>No external requests and no tracking<\/strong> \u2014 every rule and calculation runs on your own store.<\/li>\n<li><strong>Lightweight<\/strong> \u2014 no bloat, no third-party libraries pulled in on your storefront.<\/li>\n<li><strong>Translation-ready<\/strong> \u2014 ships with a <code>.pot<\/code> file and a clean <code>extnify-offer<\/code> text domain.<\/li>\n<li><strong>Clean uninstall<\/strong> \u2014 deleting the plugin removes its table, option and log; nothing is left behind.<\/li>\n<\/ul>\n\n<h4>Need more? Extnify Offer Rules Pro<\/h4>\n\n<p><a href=\"https:\/\/extnify.com\/products\/extnify-offer-rules-pro-for-woocommerce\">Extnify Offer Rules Pro<\/a> adds:<\/p>\n\n<ul>\n<li>Product, category and brand targeting, plus date\/time, location and coupon conditions.<\/li>\n<li>Tiered (range-based) amounts with min\/max caps.<\/li>\n<li>Offer grouping.<\/li>\n<li>CSV import\/export.<\/li>\n<\/ul>\n\n<p>Your free offers carry over automatically \u2014 Pro shares the same data.<\/p>\n\n<h4>More plugins by Extnify<\/h4>\n\n<ul>\n<li><strong>Extnify Fee Rules<\/strong> \u2014 add conditional fees or discounts to the WooCommerce cart and checkout. <a href=\"https:\/\/wordpress.org\/plugins\/extnify-fee\/\">Free<\/a> \u00b7 <a href=\"https:\/\/extnify.com\/products\/extnify-fee-rules-pro\">Pro<\/a><\/li>\n<li><strong>Extnify Shipping Rules<\/strong> \u2014 build your own conditional WooCommerce shipping methods and rates. <a href=\"https:\/\/wordpress.org\/plugins\/extnify-shipping\/\">Free<\/a> \u00b7 <a href=\"https:\/\/extnify.com\/products\/extnify-shipping-pro-woocommerce\">Pro<\/a><\/li>\n<\/ul>\n\n<p>Extnify Offer Rules is built by Extnify, the team behind the X-Offer extension for OpenCart.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install it from <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Extnify Offer Rules<\/strong> and set <strong>Module Status = Enabled<\/strong> in Global Settings.<\/li>\n<li>Click <strong>Add New Method<\/strong>, set the offer amount, and (optionally) restrict it by shipping zone, payment or shipping method. Save, and eligible offers appear in the Recommended Offers box on the cart and checkout.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20is%20this%20different%20from%20a%20cart%20fee%3F\"><h3>How is this different from a cart fee?<\/h3><\/dt>\n<dd><p>A fee applies automatically. An offer is shown to the customer and only applies when they select it \u2014 or when you mark it \"Default Select\" so it applies unless they remove it.<\/p><\/dd>\n<dt id=\"can%20an%20offer%20be%20a%20discount%3F\"><h3>Can an offer be a discount?<\/h3><\/dt>\n<dd><p>Yes. Enter a negative amount (for example <code>-5<\/code> or <code>-10%<\/code>) and it shows as a discount line when the customer selects it. A positive amount is an optional add-on charge.<\/p><\/dd>\n<dt id=\"can%20customers%20pick%20more%20than%20one%20offer%3F\"><h3>Can customers pick more than one offer?<\/h3><\/dt>\n<dd><p>Yes \u2014 set <strong>Offer Selection<\/strong> to Multiple (or Single to allow only one) in Global Settings.<\/p><\/dd>\n<dt id=\"where%20do%20the%20offers%20appear%3F\"><h3>Where do the offers appear?<\/h3><\/dt>\n<dd><p>In a \"Recommended Offers\" box on the cart and checkout. You can choose where the offers row sits in the totals and set your own heading.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20woocommerce%20block%20checkout%3F\"><h3>Does it work with the WooCommerce block checkout?<\/h3><\/dt>\n<dd><p>Yes. The Recommended Offers box renders on both the classic and block (Store API) cart and checkout.<\/p><\/dd>\n<dt id=\"does%20this%20send%20any%20data%20anywhere%3F\"><h3>Does this send any data anywhere?<\/h3><\/dt>\n<dd><p>No. Extnify Offer Rules makes no external requests and collects no data \u2014 everything runs on your store.<\/p><\/dd>\n<dt id=\"can%20i%20upgrade%20to%20pro%20without%20losing%20my%20settings%3F\"><h3>Can I upgrade to Pro without losing my settings?<\/h3><\/dt>\n<dd><p>Yes. Extnify Offer Rules and Extnify Offer Rules Pro share the same data, so your configured offers carry over automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Selectable offers for the WooCommerce cart and checkout \u2014 claimable discounts or optional add-ons, gated by zone, payment or shipping method.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/392023","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=392023"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/extnify"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=392023"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=392023"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=392023"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=392023"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=392023"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=392023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}