How to Add a Donation Form to WordPress Without a Plugin
Every WordPress donation guide tells you to install a plugin. But plugins add weight, updates, and conflicts you have to babysit. Here is how to add a donation form without one.
Quick answer
- You can add a donation form to WordPress with zero plugins.
- Paste an embed into a Custom HTML block or theme template.
- Fewer plugins means less weight, maintenance, and conflicts.
Open any WordPress donation tutorial and the first step is always the same: install this plugin. Sometimes two. And plugins are fine until they are not, until one needs an update during your year-end campaign, conflicts with your page builder, or quietly slows your site to a crawl.
Here is the thing nobody mentions: you do not need a donation plugin to take donations on WordPress. If your donation tool gives you an embed snippet, you can paste it straight into a Custom HTML block or a theme template and skip the plugin entirely. This guide shows both routes and lays out, honestly, when a plugin is actually the better call.
Why skip the plugin in the first place
WordPress plugins are not free, even the free ones. Each one is code you now depend on, and every dependency is a small ongoing tax:
- Weight. A donation plugin loads its own scripts and styles on pages where you do not even have a form, dragging your load time down.
- Maintenance. Plugins need updates. Skip them and you risk security holes; apply them at the wrong moment and you risk a broken checkout mid-campaign.
- Conflicts. Donation plugins and page builders like Elementor or Divi do not always get along. The result is layout bugs that only show up on the live form.
An embed sidesteps all three. The form lives on the donation tool's side; your WordPress site just shows it. Nothing to update, nothing to conflict, no extra scripts on pages that do not need them.
Route 1: paste an embed into a Custom HTML block
This is the easy one and it works on any modern WordPress site using the block editor (Gutenberg).
1. Build and brand the form
In your donation tool, set suggested amounts, enable a custom amount, turn on monthly giving, and add your logo and colors. Copy the embed snippet.
2. Add a Custom HTML block
Edit the page or post, click the plus to add a block, search for Custom HTML, and select it. Paste your snippet into the box.
3. Preview, then publish
The block editor shows raw code, not the form, so use Preview to see it render. Publish when it looks right.
4. Test on a phone
Open the live page on your phone, make a real $1 donation, confirm the money and the receipt both land, then refund yourself. Done, and you never touched the Plugins menu.
If you are on the older Classic Editor, you can do the same thing by switching from the Visual tab to the Text tab and pasting the snippet there.
Route 2: drop it into a theme template
If you want the form in a spot that is not a normal page, say a sidebar, a footer, or a custom landing template, you can place the embed in your theme directly. This is a little more hands-on, so it is the route for people comfortable editing template files.
- Use a block-based theme? Open the Site Editor, edit the template or template part you want, and add a Custom HTML block there, same as on a page.
- Use a classic theme? You can add the snippet to a template file (like a custom page template) via your theme's file editor or over SFTP. Always work on a child theme so an update does not wipe your change.
- Need it site-wide, like a sticky donate button? A small snippet in the footer template, or a header/footer code option if your theme offers one, does the job without a plugin.
Either way, the principle holds: you are placing someone else's hosted form, not running donation software inside WordPress.
Plugin vs embed: the honest tradeoff
To be fair, plugins exist for a reason. The embed route is lighter, but it is not strictly better for everyone. Here is the side-by-side.
| Factor | Donation plugin | Embed (no plugin) |
|---|---|---|
| Setup | Install, configure, connect processor | Paste one snippet |
| Site weight | Loads its scripts site-wide | Only where the form is |
| Maintenance | You own updates and conflicts | Handled on the tool's side |
| Deep WordPress integration | Strong (post types, hooks, reports) | Lighter, form lives off-site |
| Best for | WordPress-centric teams who want everything in WP | Anyone who wants a fast, low-maintenance form |
If you genuinely want donor data, custom post types, and reporting living inside WordPress, a plugin like GiveWP is the right tool, and our guide on adding a donation form to WordPress covers that path. If you mostly want a clean, branded form on a page without babysitting another plugin, the embed wins.
Make sure the money goes to you
Whichever route you take, check where the donations land. A plugin or an embed is only as good as the processor behind it. Some tools pool donations in their own account and pay you out later; others connect straight to your own Stripe so funds flow directly to you on the normal payout schedule.
KindLumen sits in the second camp, it is an embeddable Stripe form that drops into a Custom HTML block in seconds and routes gifts into your own Stripe with no plugin and no held funds. The features page shows the inline form, recurring giving, and branded receipts. For the bigger picture on fees, see nonprofit payment processing explained.
Mistakes to avoid
- Pasting the embed into a paragraph block and wondering why it shows as text. Use the Custom HTML block, or the Text tab in the Classic Editor.
- Editing the parent theme directly. A theme update will erase it. Use a child theme or the Site Editor.
- Judging the form in the editor instead of in Preview or on the live page. The editor shows code, not the rendered form.
- Skipping the mobile test. Most donors give on phones.
Frequently asked questions
Can I really take donations on WordPress without a plugin?
Yes. If your donation tool provides an embed snippet, you paste it into a Custom HTML block or a theme template and you are done. No donation plugin is required to collect a gift.
Is the no-plugin route worse than a donation plugin?
Not worse, just different. Embeds are lighter and lower-maintenance. Plugins offer deeper WordPress integration like custom reports and donor records inside WP. Pick based on whether you want that data living in WordPress.
Where do I paste the donation embed in WordPress?
In the block editor, add a Custom HTML block and paste it there. In the Classic Editor, switch to the Text tab. For site-wide placement, use a block-based Site Editor template or a child theme template file.
Will an embedded form slow down my WordPress site?
Less than a plugin usually does, because the form only loads on the page where you place it rather than adding scripts site-wide. Choose a tool with a lightweight embed and reserve space so the layout does not jump.
Use the research, then choose the right donation setup.
Compare your options, then move into a donation setup your team can launch and maintain with confidence.
Related reading
How to add a donation form to WordPress
WordPress makes placement easy, but the real work is choosing a donation setup that your team can maintain and donors can trust.
May 5, 2023
How to migrate from a WordPress donation plugin
Plugin migrations go badly when teams focus on setup alone and forget donor experience, redirects, and live campaign timing.
October 5, 2023
How to Add Donation Forms to Client Websites (Agency Guide)
A nonprofit client asks you to "add a donate button" three days before launch. Here is the repeatable way to do it on any platform, keep it on-brand, and hand it off so you are not on the hook for payments forever.
May 30, 2026