How to add a donation form to WoodMart

WoodMart is built for WooCommerce shops, but donations work better on their own form than as a product in the cart.

Short answerInstall Donor Merchant and put [donor_merchant] on a Donate page with the editor WoodMart uses on your site: the Shortcode block in Gutenberg, the Shortcode widget in Elementor, or a Text Block in WPBakery. Add a Button element in WoodMart's Header builder that links to it. Keep the shop for products and the form for gifts.

Does WoodMart have a donation feature?

No. WoodMart, from xtemos, is a WooCommerce theme. Its documentation covers shop features such as a free shipping bar, free gifts with orders, waitlists and abandoned cart emails, but nothing for donations. You add donations with a plugin.

Donor Merchant is a free WordPress plugin for one-time and recurring donations through Stripe and PayPal, with donor records, receipts and annual statements. Every feature is free. Install it from Plugins > Add New by searching for "Donor Merchant" (WordPress 6.2+, PHP 7.4+, HTTPS). Then follow Getting started.

Why not sell donations as a WooCommerce product?

You can, and for some shops it is enough. But it takes paid extensions, and you still end up with shop orders rather than donation records.

  • Donor-chosen amounts. A WooCommerce product has a set price. Letting the donor pick an amount needs an extension such as Name Your Price, $59 a year on WooCommerce.com as published October 2026 (verify with WooCommerce). Its listing says it can be used for donations.
  • Monthly gifts. Recurring billing needs WooCommerce Subscriptions, $279 a year as published October 2026 (verify with WooCommerce). It handles renewals and lets subscribers manage their plan, and WoodMart lists it among the plugins it has extra support for. So it works, at a cost.
  • Records. What you get is orders and customers. Things a nonprofit usually needs, such as one statement of a donor's giving for the year, gifts in memory of someone, gifts to a named fund, a "cover the fees" option, or UK Gift Aid declarations, need more add-ons or manual work.
  • Checkout. The donor adds a "product" to a cart and goes through your shop checkout. If they also buy a T-shirt, the gift and the purchase sit in one order, and you have to separate them later when you write the receipt.

Donor Merchant keeps gifts in their own list under Donor Merchant > Donations, with recurring giving, printable receipts, annual statements, tributes, designations and fee recovery included. A WooCommerce product is still fine if all you want is an occasional fixed add-on at checkout and you do not need donor records.

Can WooCommerce and Donor Merchant share a Stripe account?

Yes. Both plugins can connect to the same Stripe account. Each one needs its own webhook endpoint in Stripe, and Stripe allows up to 16 of these per account. Donor Merchant's endpoint is covered in webhooks. Shop sales stay in WooCommerce and gifts stay in Donor Merchant, which keeps your exports separate.

Where do I put the form in WoodMart?

WoodMart works with Gutenberg, Elementor or WPBakery. The builder your site uses for imported layouts is set at Theme Settings > Other under Current builder. Create a page called "Donate" and add the form with the matching method:

  • Gutenberg: add the Donation Form block, or a Shortcode block containing [donor_merchant].
  • Elementor: drag in Elementor's Shortcode widget and paste [donor_merchant] into it.
  • WPBakery: add a Text Block and paste the shortcode. WPBakery's own docs recommend this for third-party shortcodes.

WoodMart's own contact form page confirms the general method: a plugin's shortcode can go into a text or shortcode element. Options include [donor_merchant campaign="3"], [donor_merchant title="Support our work"] and a goal thermometer, [donor_merchant_progress campaign="3"]. Campaign IDs are listed under Donor Merchant > Settings > Shortcodes.

The form is a white card up to 540 pixels wide that centers itself. If WoodMart shows a sidebar on standard pages (Theme Settings > General > Layout), you may want a full-width layout for the Donate page so the form has room.

HTML Blocks: use them for links, not the form

WoodMart's HTML Blocks (Dashboard > HTML Blocks > Add Block) are reusable sections with a shortcode like [html_block id="123"]. They can appear in the header, prefooter, mega menu or a widget area. They are a good place for a short appeal with a Donate button. Avoid putting the form itself in a block that shows on every page: Donor Merchant loads Stripe.js and the PayPal script only where the form renders, and a site-wide form would load them on every product page.

How do I add a Donate button to the WoodMart header?

Go to WoodMart > Header builder and edit your header. Click the plus button in a column and choose the Button element, then link it to your Donate page. Text/HTML and HTML Block elements are also available. WoodMart edits desktop and mobile layouts separately, so add the button to the mobile layout as well. Shop headers often fill up with search, account and cart icons, so check that the button still fits on a phone.

Which WoodMart performance settings matter?

WoodMart's speed options are under Theme Settings > Performance, which covers CSS and JavaScript loading, lazy loading, plugin assets, the preloader and LCP options. WoodMart's docs say to clear your caching plugin's cache after changing settings that affect loaded assets. Its lazy loading page also advises using one lazy-loading system only.

WP Rocket is on WoodMart's list of plugins with extra support. If WP Rocket, or any optimizer, delays or combines JavaScript and the card fields or PayPal buttons do not appear, add these to its exclusions or turn delay off for the Donate page:

  • js.stripe.com
  • www.paypal.com/sdk/js
  • wp-content/plugins/donor-merchant/assets/js/donor-merchant.js

The donation page is safe to cache because the form has no nonce. The donor portal and receipt links send no-cache headers automatically. See page caching and donation forms.

How do I match the form to my WoodMart colors?

WoodMart sets button design at Theme Settings > Styles & Colors > Buttons. The Accent buttons group is meant for call-to-action buttons such as Add to cart. Copy its background color, go to Donor Merchant > Settings > Forms > Form style, choose Custom, paste the hex value and check the preview. For shape, pick Pill if your accent buttons use the Round style and Rounded if they use Rounded. The card fields are drawn by Stripe inside a secure frame, so theme CSS does not reach them. More in form settings.

Before you launch

  • Make a small real donation and check it appears under Donor Merchant > Donations, not in WooCommerce orders.
  • Set up the Donor Merchant webhook in Stripe if you offer recurring gifts, so renewals are recorded.
  • Test the Donate page on a phone with your cache and performance settings on.
About this guideChecked against WoodMart's documentation in October 2026. We have not tested Donor Merchant inside WoodMart. Theme menus change between versions; if a label differs in yours, look for the equivalent element.

Sources

Get Donor Merchant

Free from WordPress.org, with recurring giving included.

Download Donor Merchant free Or try the demo first.