Charitable Blog

Everything you need to know about Charitable and our team.

Charitable 1.5 release post banner

What’s New in Charitable 1.5

Last updated on

  • By

Today we release Charitable 1.5, the first major release of 2017. This is a milestone update for Charitable, as it adds highly-requested features and improves many aspects of Charitable — above and under the hood.

Read below to find out what’s new.

Contributors

First of all, I would like to say thank you to the individuals who committed changes in this release. In no particular order: Jeroen SormaniRafe ColtonKathy DarlingNick CiskeB. Scott and dsoares. Thank you all!

Of course, code is not the only way you can contribute to Charitable. To everyone who has left a comment on an issue, reported a bug, or helped out with translating Charitable, thank you!

Top 9 New Features in Charitable 1.5

69 issues were closed in this release (that’s a little over 23% of all issues ever reported for Charitable) and a good chunk of those were for new features. I’ll cover nine of the most important new features below, but for a full overview of everything that’s new, read the changelog.

Create and edit donations in the WordPress dashboard

Of all the new features in Charitable 1.5, this is the one that has been requested most often. You can now add new donations directly from your WordPress dashboard.

Existing donations can be edited with the same interface.

For more, read the detailed documentation.

Resend donation receipts (and other emails) from the dashboard

Ever had a donor lose their donation receipt?

Now you can easily resend a donor’s receipt via the WordPress dashboard. Just go to the donation, select the email in the Donation Actions you would like to resend and click on the “Resend Email” button.

Read the docs for a step by step guide to resending emails.

As an aside, the Donation Actions meta box is a new addition in 1.5. Right now it’s used exclusively for resending emails, but we expect to add more options here in the future.

Add your donation form to a page

Another popular request has been for an easy way to embed a donation form in a page. That is now possible with the [charitable_donation_form] shortcode:

[charitable_donation_form campaign_id=123]

Pretty easy, huh? If you need more details, read the docs.

New emails for offline donations

One very long-standing pain point for some Charitable users has been the lack of a good email notification system for offline donations. The receipt and admin notification for donations are only sent when a donation is marked as Paid, which happens automatically for every gateway except for Offline.

Offline donations remain Pending until they have been marked as Paid by an admin.

Rafe Colton solved this problem by introducing two new emails, the Offline Donation Receipt and Offline Donation Notification. These emails are only sent for offline donations which are pending. In the donation receipt, you can also display the offline payment instructions to help your donor know how to complete their donation.

Click here for more details about the emails.

See important campaign information at a glance

The Campaigns table in the WordPress dashboard has been redesigned to be tailored to campaigns. At a glance, you can now see how much a campaign has raised, when it ends and, if it is finished, whether it was successful.

Campaigns table in Charitable
The Campaigns table now shows the goal end date and status of a campaign as well as the campaign ID

You will also see the campaign ID in the left column, which comes in handy when you need to know a particular campaign’s ID in a shortcode like [charitable_donation_form][charitable_donors] or [campaigns], all of which accept campaign parameters.

Show donors anywhere with a shortcode

You can now display a list of your donors anywhere on your site with the [charitable_donors] shortcode. The shortcode allows you to show donors to all campaigns or one specific campaign, and you can also control what shows for each donor. By default it will show the donor’s avatar (or Gravatar), name and the amount they gave:

Screenshot of donors grid
A grid of donors added with the charitable donors shortcode
Read the docs for more examples of how you can use this.

Enhanced donor accounts with email verification

Since version 1.4, Charitable has included a [charitable_my_donations] shortcode, which has provided an easy way for donors to view their donation history.

But there was one problem: It would only show donations you made while being logged in. If you made donations without being logged in but with the same email address as your account, those would not show.

To fix this, we set up a basic email verification process for registered users, which ensures that they have access to the email address they registered with before showing all donations associated with that email. Confirming your email address is a quick, easy process — just click a link and you’re done.

Add a logout link with a shortcode

Charitable has always included login, registration and profile forms. In version 1.4 we added a password reset process into the mix as well. But one piece that was still missing was a built-in way to add a logout link.

Thankfully, there is now a simple shortcode for that:

[charitable_logout]

Read the docs for more details about using the logout shortcode.

Take full advantage of Varnish Cache with Charitable

Varnish is a popular caching mechanism used by major web hosts like WP Engine and SiteGround. You may be using it without knowing it. And it may have been causing you headaches with Charitable.

The key problem we encountered with Varnish is that it could prevent user sessions from working as expected. One particularly nasty by-product of this was that donors would see a “You do not have access to this donation receipt” message immediately after donating. Hardly the impression you want to leave with donors.

Charitable 1.5 solves this issue by dynamically loading content (via AJAX) when we detect that user sessions are not working. That means that you can now take full advantage of Varnish to speed up your website, without negatively impacting your donors’ experience.

Updates for Developers

Not all changes are user-facing, and Charitable 1.5 includes a host of improvements designed to make developers’ lives easier and open new opportunities for building online fundraising experiences with Charitable.

Register new donation fields with the Donation Fields API

Before this release, if you wanted to add a new field to your donation form and show the value in emails, admin meta and donation exports, you had to use five separate hooks, with a different function for each. Besides being a pain, that left a lot of room for error, particularly for less experienced users who have added custom fields with little to no development knowledge.

In Charitable 1.5, you can register a new donation field in a single function called on the init hook:

function ed_charitable_register_new_donation_field() {
    $field = new Charitable_Donation_Field( 'national_id_number', array(
        'label'          => __( 'National ID Number', 'charitable' );
        'data_type'      => 'user',
        'donation_form'  => array(
            'show_after' => 'phone',
            'required'   => false,
        ),
        'admin_form'     => array(
            'show_after' => 'phone',
            'required'   => false,
        ),
        'show_in_meta'   => true,
        'show_in_export' => true,
        'email_tag'      => array(
            'description' => __( 'The donor\'s national ID number' , 'charitable' ),
        )
    ) );

    charitable()->donation_fields()->register_field( $field );
}

add_action( 'init', 'ed_charitable_register_new_donation_field' );

View the full, heavily commented code for a detailed outline of all the options available.

Easily get donor & donation counts with Charitable_Query classes

The Charitable_Query class is a foundation for both Charitable_Donations_Query and Charitable_Donor_Query, which allow you to get collections of donations and donors, respectively. But sometimes you don’t need to get the full collection; you just need the number of results.

We added a new option to Charitable_Query which allows you to easily get the count. Simply set output to count and form the rest of your query as per usual. For example, here’s a query that will get the number of donations made by the donor with ID 123 to the campaign with ID 4:

$query = new Charitable_Donations_Query( array( 
    'campaign' => 4, 
    'donor_id' => 123,
    'output' => 'count' 
) );
$query->count();

Click here for more examples.

Add new email fields with the Email Fields API

We discovered a huge performance issue related to how email fields were set up previously, so we took the opportunity to completely rewrite the way email fields work. That fixed the performance problem (settings pages that could take 15+ seconds loading in less than a second) and also opened up a more flexible way to add and edit email fields.

function ed_charitable_email_campaign_field_callback( $value, $args, $email ) {
    $campaign = $email->get_campaign();
    return $campaign->get( 'some_field' );
}

function ed_charitable_add_email_campaign_field( $fields ) {
    $fields['some_field'] = array(
        'description' => 'A description of this field',                    
        'preview'     => 'Placeholder value',
        'callback'    => 'ed_charitable_email_campaign_field_callback',
    );

    return $fields;
}

add_filter( 'charitable_email_campaign_fields', 'ed_charitable_add_email_campaign_field' );

Click here for the full documentation.

Set a minimum donation amount

You can now set a minimum donation amount for all campaigns with the charitable_minimum_donation_amount filter. For example, to set a minimum donation amount of $2:

function ed_charitable_set_minimum_donation_amount() {
    return 2;
 }

add_filter( 'charitable_minimum_donation_amount', 'ed_charitable_set_minimum_donation_amount' );

Detailed doc comments for hooks & filters

We’ve always been pretty hardcore about inline documentation, but with this release we really stepped that up. Many action and filter hooks now include detailed doc comments showing when the hook was introduced and the parameters that it sends. Here’s an example:

Charitable filter doc comments

Other changes:

  • An autoloader was added. Thanks to Kathy Darling for this one!
  • Set whether a campaign can receive donations with the charitable_campaign_can_receive_donations filter.
  • Use the charitable_monetary_amount filter for fine-grained control over how monetary amounts are displayed.
  • Added the Form View API. This separates how forms are rendered from how they are set up. It also improves performance.
  • Added the Endpoint API, which allows you to register new endpoints through Charitable.

What Do You Think?

As you can see, this is an enormous update for Charitable. It’s taken us far longer to get here than I had hoped, but I am immensely proud of the improvements made. Many of these issues have been long-standing pain points for users, and it feels great to finally have a solid solution to those issues.

If you haven’t already, update Charitable via your dashboard today, and tell us what you think. Most of these improvements have been borne out of user feedback, and just like always, we want to hear what you think of these updates.

Share your thoughts in the comments below!

author avatar
Eric Daams

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.

6 responses to “What’s New in Charitable 1.5”

  1. Collins Agbonghama Avatar
    Collins Agbonghama

    This is awesome. I can only imagine the amount of work that went into this release.

    Congrat WPCharitable Team.

  2. I accidentally updated the plugin and things have broken on my site during the period where I’m expecting the most activity. Very frustrating.

    1. ericnicolaas Avatar
      ericnicolaas

      Hi Owen,

      I totally understand the frustration, particularly given the timing! The specific issue you mentioned in your email to us has been resolved now with an update to the Ambassadors extension; if you update to version 1.1.17 it will resolve the error you saw.

      Cheers,
      Eric

  3. David Byrd Avatar
    David Byrd

    Great job with updates. I still would like the option to remove the amount donated in a campaign from public display. This does not need to display on the website.

  4. Matthew DeFedele Avatar
    Matthew DeFedele

    Is there anything on the forefront to add a maximum donation amount for things like political campaign funding?

    1. ericnicolaas Avatar
      ericnicolaas

      Hi Matthew,

      Sorry for missing your comment. No, we don’t have any way to set a max donation amount.

      Cheers,
      Eric

Leave a Reply

Your email address will not be published. Required fields are marked *

Get free tips and resources right in your inbox, along with 60,000+ others

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

Featured Video:

Watch more videos on our YouTube channel.

What's New In Charitable

View The Latest Updates
🔔 Subscribe to get our latest updates
📧 Subscribe to Emails

Email Subscription

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

ambassadors New

👤 Creator Profiles: Put a Face to Every Peer-to-Peer Campaign

Ambassadors 3.3.0 now provies Creator Profiles — giving your supporters a permanent, shareable public home that turns one-time fundraisers into ongoing relationships.

👤 Public Creator Pages: Give every fundraiser an instant, clean landing page at /creator/their-name/ to showcase their custom avatar, bio, and a browsable grid of their campaigns.

📊 Proof of Impact: Boost donor trust by displaying site-wide milestones on the profile—like total funds raised and total donor counts.

💳 Interactive Hover Cards: When donors hover over a creator’s name on a campaign page, a compact card expands with their bio and social handles right at the moment of decision.

📍 Responsible Location Sharing: Allow creators to safely show local supporters where they are based using only city, state, and country details.

🛠️ Self-Serve Customization: Fundraisers can update their own profiles and link up to six social networks directly from the My Campaigns hub, saving you admin time.

Ready to empower your advocates? Update to Ambassadors 3.3.0 and turn on “Enable Public Creator Page” today!

author avatar
Eric Daams
Improvement Payments

📱 Turn Mobile Scrollers Into Donors: Meet Charitable’s Mollie Upgrade

Losing mobile supporters because they hate typing out long card numbers on their phones? Charitable’s updated Mollie integration features:

⚡ One-Tap Wallet Checkout: Enable donors to complete their gifts instantly using Apple Pay or Google Pay with a simple face scan, fingerprint, or tap.

💰 No Extra PCI Burden: Skip complex domain verification and security compliance since all wallet transactions run safely through Mollie’s hosted checkout.

🛠️ Custom Cancel Routing: Keep the experience predictable by automatically sending donors who back out to your cancellation page, or use developer filters to route them to a custom page.

Visit this page to learn more.

author avatar
Eric Daams
ambassadors improved New

Moderation and Directory Screens In Ambassadors 3.0

Ambassadors 3.0 has new features: moderation and directory screens… now easily see those who are earning donations on your peer to peer network – including campaign creators that might need to be verified – all in one place. Generate reports, email ambassadors and campaign creators directly and more.

🚀 See when campaign creators and ambassadors have updated their campaigns, what donors/donation they have brought in and more.

🎉 Manually add ambassadors and campaign creators, and approve them in one-click!

Visit this page to learn more.

author avatar
Eric Daams
New Payments

⚡ Unlock India-Based Donations: Meet Charitable’s Native Razorpay Integration

Trying to collect donations in India? Charitable’s native Razorpay integration features:

⚡ Instant UPI Integration: Accept fast, local donations directly inside your form via apps like PhonePe, Google Pay, Paytm, and BHIM without sending donors away from your site.

📲 Auto-Generated Campaign QRs: Instantly render scannable QR codes encoding a UPI deep link directly on your public campaign pages and sidebars for an effortless “scan-to-give” experience.

💰 Dual Local & Global Reach: Headline your campaigns in INR while seamlessly accepting major international currencies like USD, EUR, GBP, and CAD to maximize global support.

🔁 Seamless Recurring Giving: Fully integrates with the Charitable Recurring addon to manage automatic monthly subscriptions directly through Razorpay without extra code.

↩️ Automatic Two-Way Sync: Keep your books perfectly clean with two-way refund syncing—issue a refund inside WordPress or your Razorpay dashboard and both sides update automatically.

🔒 Webhook-Verified Security: Automatically protect your donation records using HMAC-signed webhook verification to ensure every status update represents real money cleared on the rails.

Visit this page to learn more.

author avatar
Eric Daams
Integration New

🎉 New Built-in PushEngage Integration

Struggling with falling email open rates and rising ad costs just to keep your supporters engaged? Charitable’s built-in PushEngage integration features:

🔔 Zero-Fee Direct Messaging: Deliver crisp, instant pop-up notifications straight to your donors’ desktops and mobile devices.

⏱️ Four Smart Automated Triggers: Automatically send updates for immediate donation thank yous, full-list campaign launches, urgent “ending soon” alerts, and goal milestone celebrations.

📈 Group Momentum Broadcasts: Turn private milestones into public wins by automatically broadcasting alerts to your entire subscriber list the moment a campaign hits 50%, 75%, or 100% of its goal.

📊 Automatic Analytics Tracking: Monitor exactly where your incoming notification traffic is coming from with built-in attribution that requires zero complex configuration.

Visit this page to learn more.

author avatar
Eric Daams