=== RT Gift Wrap for WooCommerce - Gift Wrap Options, Messages & Fees === Contributors: raintech357 Tags: gift wrap, woocommerce checkout, gift message, checkout upsell, order add-on Requires at least: 6.0 Tested up to: 6.8 Requires PHP: 7.2 Stable tag: 2.1.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Offer gift wrap at WooCommerce checkout with multiple styles, custom pricing, a gift message field, and per-product control — a simple upsell that boosts order value. == Description == **RT Gift Wrap for WooCommerce** lets you offer a gift wrapping service on your checkout page, so customers can add a nicely wrapped gift — with a personal message — in one click. It's a simple, high-margin upsell that works especially well for gift-heavy stores like jewelry, toys, flowers, and specialty gifts. Everything is configurable from a dedicated **WooCommerce → Gift Wrap** settings screen. No code edits needed. = Why Store Owners Use This Plugin = * Add a proven checkout upsell without touching a single line of code. * Offer multiple gift wrap styles at different price points — from a simple wrap to premium packaging. * Let customers add a personal gift message, shown on the order for you to include when packing. * Turn gift wrap off for specific products (like digital goods or oversized items) where it doesn't make sense. * See every gift wrap selection and message directly in the order admin, the customer's order page, and order emails. = Key Features = * **Multiple gift wrap styles** — configure any number of wrap styles, each with its own price. Customers see a simple checkbox when there's one style, or a dropdown when there's more than one. * **Custom gift messages** — let customers add a short personal note, with a configurable label and character limit shown live as they type. * **Per-product control** — disable gift wrap for individual products (e.g. digital downloads, oversized items) directly from the Product Data panel. * **Live checkout updates** — the order total updates immediately when a customer selects gift wrap or changes styles, no page reload required. * **Full order visibility** — the selected gift wrap style and message appear in the WooCommerce admin order screen, the customer's order details, and order confirmation emails. * **Simple settings screen** — enable/disable the feature, edit labels, and manage wrap styles and pricing from **WooCommerce → Gift Wrap**. * **Lightweight** — no external services, no page-load overhead on non-checkout pages. == Installation == 1. Upload the `rt-gift-wrap-for-woocommerce` folder to the `/wp-content/plugins/` directory, or install the ZIP via **Plugins → Add New → Upload Plugin**. 2. Activate the plugin through the **Plugins** menu in WordPress. 3. Make sure WooCommerce is installed and active. 4. Go to **WooCommerce → Gift Wrap** to set your label, gift message options, and wrap styles/pricing. 5. The gift wrap option will now appear on your checkout page automatically. == Frequently Asked Questions == = Does this work with the new WooCommerce Checkout block? = Yes, as of version 2.1.0. Gift wrap fields render automatically inside the Checkout block (WooCommerce 8.9+), and the fee, style, and message are saved the same way as with the classic checkout. If you're on an older WooCommerce version without block checkout, the classic checkout fields continue to work as before. = How do I change the gift wrap fee? = Go to **WooCommerce → Gift Wrap** in your admin. You can edit the price of each gift wrap style, or add new styles at different price points — no code required. = Can I offer more than one gift wrap style? = Yes. Add as many wrap styles as you like in the settings screen, each with its own name and price. When there's more than one, customers see a dropdown to choose from at checkout. = Can customers add a gift message? = Yes, if enabled in settings. Customers can type a short message with a live character counter, and it's saved on the order for you to see when preparing the shipment. = Can I disable gift wrap for specific products? = Yes. Open any product in the WordPress admin, and check "Disable gift wrap" in the Product Data panel. Gift wrap won't be offered when that product is the only item in the cart. = Where can I see which orders selected gift wrap? = The gift wrap style and message appear on the order screen in your WordPress admin, on the customer's order details page, and in WooCommerce order emails. = Does this slow down my site? = No. Styles and scripts only load on the checkout page, and the settings are cached in a single WordPress option, so there's no added overhead elsewhere on your site. == Screenshots == 1. The gift wrap option on the checkout page, with style selection and gift message. 2. The Gift Wrap settings screen — labels, gift message options, and wrap styles & pricing. 3. Gift wrap details shown on the order admin screen. == Changelog == = 2.1.0 = * Fix: gift wrap now works with the WooCommerce Cart & Checkout blocks (Store API). Previously the checkbox, style, and message either didn't appear or didn't save/charge a fee on block-based checkout, because the plugin only read classic `$_POST` form data. * New: gift wrap fields are now registered through WooCommerce's Additional Checkout Fields API, so they render automatically inside the Checkout block. * Requires WooCommerce 8.9+ for block checkout support; shortcode/classic checkout continues to work on any supported WooCommerce version. = 2.0.0 = * New: dedicated settings screen under WooCommerce → Gift Wrap. * New: support for multiple gift wrap styles, each with its own price. * New: optional gift message field with a configurable label and character limit. * New: per-product "Disable gift wrap" option in the Product Data panel. * New: gift wrap details now also shown in order confirmation emails. * Improved: checkout UI shows/hides gift message and style fields dynamically, with a live character counter. * Improved: gift wrap scripts and styles now only load on the checkout page. * Fix: removed unused/empty controller file left over from earlier development. = 1.2 = * Maintenance release. = 1.0 = * Initial release. == Upgrade Notice == = 2.1.0 = Fixes gift wrap not working on the WooCommerce Checkout block (Store API checkout). No settings changes needed. = 2.0.0 = Major update: adds a settings screen, multiple gift wrap styles, gift messages, and per-product control. Visit WooCommerce → Gift Wrap after upgrading to configure your wrap styles and pricing (the previous flat fee is preserved as your first style).