Charitable Documentation

Learn how to make the most of Charitable with clear, step-by-step instructions.

The Email Fields API

The Email Fields API was introduced in version 1.5 and provides a cleaner way to add new email tags or modify existing ones.

Defining a Field

An email field is defined as an array with a few arguments, and a key which is used for the show parameter in the [charitable_email] shortcode.

Arguments

  • description: The description that will be shown for the email tag.
  • preview: The placeholder value that will be used for this email tag in email previews.
  • callback: A function that will be executed to get the tag value for a particular email.
  • value: A fixed value for the email tag. If this is set, callback will not be used and is not required.

In addition, an email field has a key which will be used when the tag is added.

Callback arguments

The callback function will receive three arguments:

  • $value: The default value (an empty string). This is provided primarily for backwards-compatibility purposes.
  • $args: The shortcode arguments. This will always include the show parameter but may include other arguments if these are applicable to the email tag.
  • $email: An instance of Charitable_Email. You can use this to get the objects associated with the email (usually one of Charitable_Campaign, Charitable_Donation or Charitable_User).

Adding a Campaign email field

Campaign email fields can be added using the charitable_email_campaign_fields filter:

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' );

Adding a Donation email field

Donation email fields can be addd using the charitable_email_donation_fields filter:

function ed_charitable_email_donation_field_callback( $value, $args, $email ) {
    $donation = $email->get_donation();

    return $donation->get( 'some_field' );
}

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

    return $fields;
}

add_filter( 'charitable_email_donation_fields', 'ed_charitable_add_email_donation_field' );

Adding a User email field

Defining a new user email field follows the exact same process, but with the charitable_email_user_fields filter:

function ed_charitable_email_user_field_callback( $value, $args, $email ) {
    $user = $email->get_user();

    return $user->get( 'some_field' );
}

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

    return $fields;
}

add_filter( 'charitable_email_user_fields', 'ed_charitable_add_email_user_field' );

Modifying Existing Email Fields

Existing email fields can also be changed with these filters. For example, you can use this to change the callback for an existing tag, or to edit the description.

Changing a field’s callback

function ed_charitable_donor_address_email_field_callback( $value, $args, $email ) {
    // Return the donor's address.
}

function ed_charitable_set_donor_address_email_field_callback( $fields ) {
    $fields['donor_address']['callback'] = 'ed_charitable_donor_address_email_field_callback';
    return $fields;
}

add_filter( 'charitable_email_donation_fields', 'ed_charitable_set_donor_address_email_field_callback' );

Changing a field’s description

function ed_charitable_set_user_login_email_field_description( $fields ) {
    $fields['user_login']['description'] = 'My user login description';
    return $fields;
}

add_filter( 'charitable_email_donation_fields', 'ed_charitable_set_user_login_email_field_description' );

Still have questions? We’re here to help!

Last Modified:

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!

New templates

🤩 New Beacon Campaign Templates w/ “Hero” Block!

With the new Beacon Campaign Templates for Charitable Pro, you can launch a stunning, full-width fundraising page that instantly captures visitor attention above the fold.

Fundraising page header for Save Maple Grove Park with a donation widget and a small square photo of a sunlit tree thumbnail on the left.

🔦 Above-the-Fold Impact: Lead with a full-width hero image, your logo, and your goal with a donation widget locked right on top of the banner so your ask and momentum register instantly without scrolling.

📐 Two Flexible Layouts: Choose between a structured two-column layout for side-by-side storytelling and supporting details, or a clean one-column view designed for uninterrupted long-form narratives.

⚡ All-in-One Hero Field: Powered by the new Campaign Hero field, bringing background media, live progress bars, custom donation amounts, and recurring giving tabs together into a single cohesive block that can be dropped into any layout.

🎨 Automatic Theme Matching: The hero banner and donation widget automatically inherit your campaign theme’s button and accent colors, ensuring your entire presentation stays beautifully on-brand without touching a line of CSS.

Learn more here.

donation form Feature New

📝 Donation Form Block: Embed a Working Donation Form Anywhere

With the new Donation Form Block for Charitable Pro, you can drop a fully working donation form directly onto any page or post in the WordPress block editor. No redirects, no page reloads, and zero friction between reading your story and making a contribution.

📝 Drop Forms Anywhere: Place a working form directly onto your homepage, inside a story-driven blog post, on a dedicated landing page, or within a campaign announcement.

🎯 Dynamic Campaign Binding: Easily choose a specific campaign from the block sidebar or set it to automatically bind to whichever campaign is currently being viewed.

📐 Full vs. Minimal Form Views: Switch between a full layout or a compact minimal view to perfectly fit sidebars, narrow columns, or wide landing pages.

🎨 Scoped No-Code Styling: Customize typography, container spacing, border radius, amount buttons, and accent colors independently for every form instance without touching a line of CSS.

Learn more here.

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!

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.

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.