Customize Your WordPress Donation Form — Without Code
When I started chatting to nonprofits about their online fundraising system, many mentioned the same problem: the fundraising platform they used did not give them enough control.
Too often, they were set up as a one-size-fits-all solution.
As we began developing Charitable, we knew that we wanted to give users a way to tailor it to their needs. A year and a half on, we have seen that decision validated again and again.
In this post, I’ll show you six easy ways you can customize the donation form that is added by Charitable — all without writing any code.
Charitable is the top-rated WordPress donation plugin. Best of all, you can get it for free! Click here to start now.
6 Code-Free Ways to Tweak Your WordPress Donation Form
1. Only show required fields
By default, the donation form includes a few required fields for the donor’s name and email address, and a bunch of non-required fields for the address. Did you know you can completely remove those non-required fields from the donation form? Here’s how.
- Open the WordPress Customizer by clicking the paintbrush icon in the admin bar or by going to Appearance > Customize in the WordPress dashboard.
- Click on the Charitable tab.
- Next, click on Donation Form. If you don’t see this listed, try navigating to a Charitable donation form in the preview window.
- Set the “Only show required fields” option to “Yes”.
2. Change any field’s label
Sometimes, the label used for a particular field in the donation form isn’t right for your needs. Need the “State” field to be a “Province” field? Or want to replace “Postcode / ZIP code” with just one or the other?
You can change this with a little bit of code (I’ll show you how further on), but for now I’d like to show you a sneaky way you can do this without writing any code.
Meet Loco Translate. As the name suggests, it’s a translation plugin; but even if you’re using WordPress as an English speaker, it gives you an easy way to change the default text added by plugins like Charitable. All you need to do is activate the plugin and create a “translation” of Charitable into English. You will be able to easily change any text added by Charitable, without leaving your WordPress dashboard.
3. Allow donors to subscribe to your newsletter
Another easy one. With our Newsletter Connect plugin, you can connect your MailChimp or MailPoet newsletter list to Charitable. Once you have linked your newsletter, donors can opt in to start receiving your newsletter when they make their donation.
4. Allow donors to remain anonymous
This one’s easy. All you need is our Anonymous Donations plugin. Buy it, download it, install it, activate it — you’re done.
Read more about anonymous donations here.
5. Accept credit card donations directly on your website
PayPal is great, but it does result in donors being redirected away from your website — and unfortunately that can lead to donor confusion or even drop-off. Adding a credit card form to your website is a smart way to avoid that problem, while giving you a more professional donation experience.
To start accepting credit card donations, you can use either our Stripe or Authorize.Net extension. You will also need an SSL certificate if you don’t have one already.
6. Allow your donors to pay the donation fee
This is a great way to boost your online fundraising revenue, and it’s easy to get set up.
The Fee Relief extension gives you all the tools you need. Install the plugin, then set up how the fee should be calculated, and your donors will be ready to start pitching in to cover the fees charged by your payment gateway.
Customizing your WordPress donation form, the easy way
With Charitable you can customize your WordPress donation form easily, without writing code, using off-the-shelf tools that are designed to help your non-profit collect donations.
Hi there – Are we able to add our own custom fields to the donation form to collect specific information we need outside if the standard details built in?
Yes, the donation form can be completely customized with code. We have a library of code snippets available at https://github.com/Charitable/library which shows various ways to change the donation form (amongst other things).
I am using the free version. Can I remove the checkbox that says monthly donation?
Hi Leoleroi,
The monthly donation option is not included in the free core version of Charitable. It’s part of the Recurring Donations extension.
Cheers,
Eric
Hi!
I, too, am using the free version of Charitable, for now, but may be upgrading soon.
For the free version (Or paid, for that matter): Is there a way to just place a Donation Form on a page, without having to create a “Campaign” for it??
I have the Campaigns working, and the form pops up in the modal, as I specified, BUT… I would also like a generic Donation Page with a generic Donation Form, so users can just Donate, without having to specify a particular Campaign.
Is that possible with the Free, or Paid, version of Charitable?
Thanks!
Shane
Hi Shane,
Charitable always uses campaigns, but you can create a generic campaign with no end date and no goal, and you can bypass the campaign page by adding the donation form to a different page using a shortcode, see: https://www.wpcharitable.com/documentation/add-your-donation-form-to-a-page/
Hello, I want to make phone field to be required on donation form but i cannot find it anywhere can you please tell me where i can do this so? I am code guy so you can tell me if i can do it in the code as well ?
Hi Shehroz,
You can make the phone field required with just a little bit of code:
https://github.com/Charitable/library/blob/master/donation-form/make-single-field-required.php#L37
On that highlighted line, just swap ‘address’ for ‘phone’ and you’re done 🙂
Cheers,
Eric
Hi
I am using free Charitable.
Can I add a campaign from my own page instead from wp-admin?
Hi @smackqueenyaqueen,
Sorry for missing your comment! With the free Charitable plugin, you can create campaigns in the admin area. If you want people to be able to add campaigns from the front-end, you’ll need our Ambassadors extension:
https://www.wpcharitable.com/extensions/charitable-ambassadors/
Cheers,
Eric
is it possible to manually add mailed check donations as an admin without having an e-mail address for the donor? It would be great to have all of the donations in once place for year end statements.
Hey Cathryn,
This isn’t possible out of the box, but it requires just a single line of code to add support for creating donations in the admin donation form without an email address:
https://github.com/Charitable/library/blob/master/admin-donation-form/allow-manual-donations-without-email.php
See https://www.wpcharitable.com/documentation/3-ways-to-add-code-customizations-to-your-site/ for a guide to adding bits of code like this — it’s easier than you’d imagine!
Cheers,
Eric
p.s. So sorry for missing your comment until now! We just discovered a bunch of comments that were stuck in our approval queue.
Any user who is not registered in website, the campaign donation page displays in the top
“Registered before? Log in to use your saved details.”
Also, after the donation flow completes, final page displays the text on top
“you must be logged in to access your donation receipt.”
How to disable these texts and avoid any confusion to users on the registration process
Hi Shripad,
Those are great questions! Sorry for not responding sooner. We just came across a number of comments stuck in our approval queue.
To remove the prompt to log in at the top of the campaign donation page, you can use a little bit of code:
https://github.com/Charitable/library/blob/master/donation-form/remove-login-form.php
See https://www.wpcharitable.com/documentation/3-ways-to-add-code-customizations-to-your-site/ for a guide to adding bits of code like this.
After a donor completes their donation, the donation receipt should automatically show for them. One thing that can affect this however is if your site/server is doing a lot of caching; it may be blocking Charitable’s cookies from working correctly, and without the cookies the user is not able to see their donation receipt until they log in. If the user doesn’t have an account yet, there is a “Register” link at the bottom of the login form so they can create an account straight away.
That said, if you are having problems with the donation receipt not showing automatically, please reach out to us via our support page so we can help you resolve that problem.
Cheers,
Eric
Thank you Eric, this has resolved the Login issue. The code snippet is doing wonders now.
Now, the next issue is donation receipt is not shown automatically after completing the donation. page shows the message “You must be logged in to access your donation receipt.”, but I don’t want user to create their account. Will you please help
Hi Shripad,
Sorry for missing your comment. This is an issue that comes up with certain hosts and is usually related to aggressive caching. If you’re still having problems with this, please get in touch with us through our support page.
Cheers,
Eric
Hi,
I want to hide donation amount and total donation amount in forms in the frontend, because we use the plugin only to let people join the causes not for donations. I added this filtre :
function ed_remove_donation_amount_field_from_profile_form( $fields ) {
unset( $fields[‘donation_amount’] );
return $fields;
}
add_filter( ‘charitable_donation_form_donation_fields’, ‘ed_remove_donation_amount_field_from_profile_form’ );
But it’s not working.
Any idea what i can do?
Thanks,
Youssef
Hi Youssef,
Interesting question! To be honest, Charitable’s not really ideal if you’re not collecting donations. A form plugin like Ninja Forms might be a better way to go.
If you do definitely want to use Charitable, I think you can use a combination of these two code snippets:
That should do the trick!
Cheers,
Eric
Hello, is there a way to have guest donations where people do not have to register to give donations?
Hi Yusuf,
Yep, that’s available right out of the box when people go to make a donation.
Cheers,
Eric
Hi,
I need to change the words Phone Number to Local Phone
I tried doing it in Loco Translate, I can see the new words, but Charitable doesn’t see the update.
Is there another way to do this?
Hi Gene,
It should work through Loco Translate. I would suggest double-checking that you don’t have any page caching running on the site that may be resulting in the old text still showing.
Otherwise, if the only reason you have Loco Translate installed is to change this text, an alternative approach might be to use some code to change this. There’s an example of how to change a field label here (see the second-to-last line):
https://www.wpcharitable.com/documentation/donation-fields-api/#change-existing-field
There are a few ways to add code customizations like this to your site:
https://www.wpcharitable.com/documentation/3-ways-to-add-code-customizations-to-your-site/
Cheers,
Eric