{"id":290323,"date":"2026-03-26T09:56:31","date_gmt":"2026-03-26T09:56:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/beltoft-gift-cards-for-woocommerce\/"},"modified":"2026-03-26T09:56:06","modified_gmt":"2026-03-26T09:56:06","slug":"beltoft-gift-cards","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/beltoft-gift-cards\/","author":23461136,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.2","stable_tag":"1.4.2","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Beltoft Gift Cards for WooCommerce","header_author":"beltoft.net","header_description":"Sell digital gift cards, deliver them by email, and let customers redeem them at checkout.","assets_banners_color":"","last_updated":"2026-03-26 09:56:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/beltoft-gift-cards\/","header_author_uri":"https:\/\/beltoft.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.2":{"tag":"1.4.2","author":"christian198521","date":"2026-03-26 09:56:06"}},"upgrade_notice":{"1.3.0":"<p>Performance and concurrency improvements.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Gift card product page with amount selector and recipient fields.","2":"Gift card delivery email sent to the recipient.","3":"Gift card applied at checkout via the coupon field.","4":"Dedicated \"Apply Gift Card\" field on the cart page.","5":"My Account \u2014 Gift Cards tab showing balances and transactions.","6":"Admin dashboard with stats.","7":"Admin gift card list with search, filters, and bulk actions.","8":"Settings page."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[19968,6600,5495,35576,286],"plugin_category":[45],"plugin_contributors":[256640,257057],"plugin_business_model":[],"class_list":["post-290323","plugin","type-plugin","status-publish","hentry","plugin_tags-gift-cards","plugin_tags-gift-certificate","plugin_tags-store-credit","plugin_tags-voucher","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-beltoftnet","plugin_contributors-christian198521","plugin_committers-beltoftnet","plugin_committers-christian198521"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/beltoft-gift-cards.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Beltoft Gift Cards for WooCommerce adds a gift card product type to your store. Customers purchase a gift card, choose an amount, and enter the recipient's email. When the order is processed, the recipient gets a branded email with their unique gift card code. Codes are redeemed at checkout through the standard WooCommerce coupon field \u2014 no extra steps for the customer.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ol>\n<li>Gift card product type \u2014 predefined amounts (e.g., $25, $50, $100) or custom amounts within configurable min\/max.<\/li>\n<li>Email delivery using WooCommerce email templates \u2014 same look as your order emails.<\/li>\n<li>Coupon field redemption \u2014 gift card codes work in the standard WooCommerce coupon field, no setup required.<\/li>\n<li>Optional dedicated \"Apply Gift Card\" field on cart\/checkout via settings or <code>[bgcw_apply_field]<\/code> shortcode.<\/li>\n<li>Auto-apply from email \u2014 the \"Shop Now\" button in the delivery email automatically applies the gift card to the recipient's cart.<\/li>\n<li>Balance tracking with partial redemption \u2014 remaining balance carries over to the next purchase.<\/li>\n<li>My Account tab \u2014 customers view their gift cards, balances, and full transaction history.<\/li>\n<li>Personal message displayed in cart and order details.<\/li>\n<li>Price range display \u2014 gift card products show \"From $25\" or \"$25 \u2013 $100\" in your shop catalog.<\/li>\n<li>Admin dashboard with stats: total issued, outstanding balance, redeemed, and expired counts.<\/li>\n<li>Gift card management list with search, status filters, pagination, and bulk actions (disable\/delete).<\/li>\n<li>Manual gift card creation from the admin panel \u2014 no order required.<\/li>\n<li>Order meta box showing gift cards created by and used on each order.<\/li>\n<li>Automatic balance restore on order cancel\/refund, including proportional partial refund support.<\/li>\n<li>Loyalty Rewards integration \u2014 optionally block or allow customers from using loyalty points to purchase gift cards (requires Loyalty Rewards for WooCommerce).<\/li>\n<li>Shortcode <code>[bgcw_product_form]<\/code> for page builders (Bricks, Elementor, etc.).<\/li>\n<li>HPOS compatible \u2014 works with WooCommerce High-Performance Order Storage.<\/li>\n<li>Email settings (subject, heading, on\/off) under WooCommerce &gt; Settings &gt; Emails.<\/li>\n<\/ol>\n\n<h3>How It Works<\/h3>\n\n<ol>\n<li>Create a \"Gift Card\" product in WooCommerce and set the predefined amounts.<\/li>\n<li>Customer purchases the gift card, picks an amount, and enters recipient details and an optional message.<\/li>\n<li>When the order is processed, a unique code is generated and emailed to the recipient.<\/li>\n<li>Recipient enters the code at checkout in the coupon field \u2014 the gift card balance is applied as a discount.<\/li>\n<li>Partial use is tracked. The remaining balance stays on the gift card for future orders.<\/li>\n<\/ol>\n\n<h3>Configuration<\/h3>\n\n<h3>Gift Card Product<\/h3>\n\n<ul>\n<li>Create a product, select \"Gift card\" as the product type.<\/li>\n<li>Set predefined amounts in the Gift Card data panel (e.g., 25,50,75,100).<\/li>\n<li>Custom amounts and their min\/max are controlled from the global settings page.<\/li>\n<\/ul>\n\n<h3>Redemption<\/h3>\n\n<ul>\n<li>Gift card codes always work in the standard WooCommerce coupon field \u2014 this is automatic.<\/li>\n<li>To also show a dedicated \"Apply Gift Card\" field, enable it in settings with automatic placement or shortcode-only.<\/li>\n<li>Shortcode: <code>[bgcw_apply_field]<\/code> \u2014 place it on cart or checkout pages.<\/li>\n<li>Recipients can click \"Shop Now\" in the delivery email to auto-apply the gift card to their cart.<\/li>\n<\/ul>\n\n<h3>Email Template<\/h3>\n\n<ul>\n<li>Uses WooCommerce's email system \u2014 same header, footer, and colours as your other store emails.<\/li>\n<li>Customise subject and heading under WooCommerce &gt; Settings &gt; Emails &gt; Gift Card Delivery.<\/li>\n<li>Override the template by copying <code>templates\/emails\/gift-card-delivery.php<\/code> to your theme's <code>woocommerce\/emails\/<\/code> folder.<\/li>\n<\/ul>\n\n<h3>Page Builders<\/h3>\n\n<ul>\n<li>For Bricks, Elementor, or other page builders that replace WooCommerce templates, use the WooCommerce Add to Cart element or the <code>[bgcw_product_form]<\/code> shortcode.<\/li>\n<\/ul>\n\n<h3>Hooks &amp; Filters<\/h3>\n\n<p>Developers can extend the plugin:<\/p>\n\n<ul>\n<li><code>bgcw_gift_card_created<\/code> \u2014 fires after a gift card is created (used by the email system).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>beltoft-gift-cards<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install via the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>WooCommerce &gt; Gift Cards &gt; Settings<\/strong> to configure.<\/li>\n<li>Create a new product and select <strong>\"Gift card\"<\/strong> as the product type.<\/li>\n<li>Optionally adjust the delivery email under <strong>WooCommerce &gt; Settings &gt; Emails &gt; Gift Card Delivery<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20gift%20cards%20work%20with%20the%20standard%20coupon%20field%3F\"><h3>Do gift cards work with the standard coupon field?<\/h3><\/dt>\n<dd><p>Yes. Gift card codes are always accepted in the WooCommerce coupon field. This works automatically \u2014 customers just enter the code where they would enter a coupon.<\/p><\/dd>\n<dt id=\"can%20i%20also%20show%20a%20separate%20gift%20card%20field%3F\"><h3>Can I also show a separate gift card field?<\/h3><\/dt>\n<dd><p>Yes. Go to WooCommerce &gt; Gift Cards &gt; Settings and enable the \"Dedicated Gift Card Field.\" You can choose automatic placement (cart &amp; checkout) or shortcode-only (<code>[bgcw_apply_field]<\/code>).<\/p><\/dd>\n<dt id=\"do%20gift%20cards%20support%20partial%20redemption%3F\"><h3>Do gift cards support partial redemption?<\/h3><\/dt>\n<dd><p>Yes. If a gift card balance exceeds the order total, only the needed amount is deducted. The remaining balance stays on the gift card for future use.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20an%20order%20is%20refunded%3F\"><h3>What happens when an order is refunded?<\/h3><\/dt>\n<dd><p>Gift card balances are automatically restored when an order is cancelled or fully refunded. Partial refunds proportionally restore the gift card balance.<\/p><\/dd>\n<dt id=\"can%20i%20create%20gift%20cards%20manually%3F\"><h3>Can I create gift cards manually?<\/h3><\/dt>\n<dd><p>Yes. Go to WooCommerce &gt; Gift Cards &gt; Gift Cards tab and click \"Add Gift Card.\" You can specify the amount, recipient, and message.<\/p><\/dd>\n<dt id=\"are%20gift%20cards%20taxable%3F\"><h3>Are gift cards taxable?<\/h3><\/dt>\n<dd><p>No. Gift card products are set as non-taxable, and gift card discounts are applied as non-taxable negative fees.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%20like%20bricks%20or%20elementor%3F\"><h3>Does it work with page builders like Bricks or Elementor?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>[bgcw_product_form]<\/code> shortcode inside your page builder's product template to display the gift card amount selector and recipient fields.<\/p><\/dd>\n<dt id=\"do%20emails%20match%20my%20store%27s%20design%3F\"><h3>Do emails match my store's design?<\/h3><\/dt>\n<dd><p>Yes. They use WooCommerce's email template \u2014 same header, footer, and styling as order emails.<\/p><\/dd>\n<dt id=\"can%20customers%20see%20their%20gift%20card%20balances%3F\"><h3>Can customers see their gift card balances?<\/h3><\/dt>\n<dd><p>Yes. A \"Gift Cards\" tab is added to My Account where customers can view all their gift cards (purchased and received), balances, and transaction history.<\/p><\/dd>\n<dt id=\"can%20customers%20use%20loyalty%20points%20to%20buy%20gift%20cards%3F\"><h3>Can customers use loyalty points to buy gift cards?<\/h3><\/dt>\n<dd><p>By default, no. If you have the Loyalty Rewards for WooCommerce plugin active, an \"Integrations\" section appears in the gift card settings where you can allow or block loyalty point redemption on gift card purchases.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Added GitHub Actions workflow for automated WordPress.org deployment.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Added <code>width: 100%<\/code> to gift card product fields container for better theme compatibility.<\/li>\n<li>Added placeholder text to Predefined Amounts field on the product edit page.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Renamed plugin slug and folder to <code>beltoft-gift-cards<\/code>.<\/li>\n<li>Renamed text domain to <code>beltoft-gift-cards<\/code>.<\/li>\n<li>Replaced inline scripts with <code>wp_add_inline_script()<\/code>.<\/li>\n<li>Fixed double-escaping on gift card price display.<\/li>\n<li>Improved input sanitization on all add-to-cart POST data.<\/li>\n<li>Moved all inline styles to external CSS files.<\/li>\n<li>Added <code>wp_cache_delete()<\/code> calls after custom table writes.<\/li>\n<li>Updated author to beltoft.net.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Improved: MySQL advisory lock for concurrent balance deductions.<\/li>\n<li>Improved: SQL-level pagination for My Account gift cards.<\/li>\n<li>Improved: Bulk gift card code lookups in cart and Store API.<\/li>\n<li>Improved: Expiry sync moved to WP-Cron (hourly) with composite DB index.<\/li>\n<li>Fixed: Tax-inclusive discount amount in balance deductions.<\/li>\n<li>Fixed: Refund safety guard requires prior deduction before restoring balance.<\/li>\n<li>Added: Block checkout support \u2014 gift card codes identified via Store API extension.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Gift card product type with predefined and custom amounts.<\/li>\n<li>Email delivery to recipients using WooCommerce email templates.<\/li>\n<li>Auto-apply gift card from email \"Shop Now\" link.<\/li>\n<li>Virtual coupon integration \u2014 gift card discounts display natively between subtotal and total with WooCommerce [Remove] link.<\/li>\n<li>Optional dedicated \"Apply Gift Card\" field with automatic or shortcode-only placement.<\/li>\n<li>Personal message displayed in cart and order details.<\/li>\n<li>Price range display in shop catalog (e.g., \"$25 \u2013 $100\").<\/li>\n<li>Balance tracking with partial redemption.<\/li>\n<li>My Account tab for viewing gift cards and transactions.<\/li>\n<li>Admin dashboard, gift card list with bulk actions, and manual creation.<\/li>\n<li>Order meta box showing created and used gift cards.<\/li>\n<li>Automatic balance restore on cancel\/refund with partial refund support.<\/li>\n<li>Loyalty Rewards for WooCommerce integration \u2014 block or allow loyalty points for gift card purchases.<\/li>\n<li>Atomic balance deduction to prevent race conditions.<\/li>\n<li>Rate limiting on gift card code lookups.<\/li>\n<li>HPOS compatibility.<\/li>\n<li>Block checkout incompatibility declared (classic checkout required).<\/li>\n<li>Portuguese (pt_PT) translation included.<\/li>\n<\/ul>","raw_excerpt":"Sell digital gift cards, deliver them by email, and let customers redeem them at checkout.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/290323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=290323"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/beltoftnet"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=290323"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=290323"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=290323"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=290323"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=290323"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=290323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}