Skip to content

BOGO Select for WooCommerce 1.0.0

Choose a tag to compare

@johnjanney johnjanney released this 31 Jul 00:45
· 104 commits to main since this release

Initial release.

Install: download bogo-select-1.0.0.zip below, then Plugins → Add New → Upload Plugin in WordPress. Requires WordPress 6.0+, PHP 7.4+, WooCommerce 7.0+.

Added

  • Admin settings screen at WooCommerce → BOGO Select: enable/disable, offer
    title, Buy quantity, Get quantity, Buy scope, Get scope, repeat mode, and a
    toggle for the site-wide qualification notice.
  • Independent Buy and Get scopes, each set to All Products or Select
    Products
    with its own AJAX-searched product list.
  • Arbitrary Buy/Get quantities — any positive integers (Buy 2 Get 2,
    Buy 4 Get 8, …).
  • Customer gift chooser on the cart page: product cards with image, name,
    price, stock state, and Select/Change actions, added via AJAX.
  • $0.00 reward line items — the chosen gift is added as a real cart line with
    its price overridden to zero, so WooCommerce reduces stock normally.
  • Continuous cart re-validation — the gift is removed or its quantity adjusted
    automatically when the cart stops qualifying, the offer changes, or stock runs
    short, with an explanatory customer notice.
  • Quantity lock on gift line items (removal still permitted).
  • Server-side re-validation of every selection, and again on
    woocommerce_check_cart_items before checkout, so a crafted request cannot
    award a free product.
  • Repeat mode (off by default) awarding one gift set per multiple of the Buy
    quantity.
  • "Free (BOGO)" labelling on cart lines, checkout, order emails, and the admin
    order screen.
  • Developer hooks: bogo_select_get_products, bogo_select_qualifies,
    bogo_select_reward_quantity, bogo_select_reward_added.
  • HPOS compatibility declaration for WooCommerce High-Performance Order Storage.
  • Uninstall routine removing plugin options.
  • Project documentation: README.md, BRIEF.md, INSTRUCTIONS.md,
    DECISION.md, OPEN-QUESTIONS.md, and CHANGELOG.md.

Known limitations

  • Classic (shortcode) cart and checkout only — Cart/Checkout blocks show the
    notice but not the chooser. See OPEN-QUESTIONS.md Q-001.
  • One offer at a time; offers do not stack.
  • Product IDs only — no category, tag, or attribute scoping.
  • Variable products cannot be gifts (they remain eligible on the Buy side).
    See DECISION.md D-006.
  • Untested against Subscriptions, Bundles, and Composite Products.