Charitable Documentation

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

Mini Donation Widget

The Mini Donation Widget is a compact, embeddable donation form that lets visitors give to a specific campaign directly from any page or post. No full campaign page required.

Add it to your homepage, a landing page, a sidebar, or a blog post and turn any content into a fundraising opportunity. Available in Charitable Pro 1.8.13.1+.

What’s in this Guide


Key Features

The Mini Donation Widget is built to make giving fast, flexible, and friction-free. Whether you’re embedding it on your homepage, a blog post, or a landing page, every feature is designed to reduce barriers and keep donors focused on giving. Here’s what it brings to your fundraising pages:

  • Place a donation widget anywhere using a Gutenberg block or shortcode
  • Display preset donation amount buttons for one-time and monthly giving
  • Show impact statements that update as donors select different amounts
  • Optional Monthly / Give Once tabs when used with Charitable Recurring
  • CTA button opens a modal or redirects to the campaign donation page
  • “Other” amount input for custom giving
  • Set a custom accent color, width, alignment, and widget title
  • Template override support for full HTML control

Together, these features give you a fully capable donation experience in a compact, embeddable package. No dedicated campaign page required, no extra navigation, and no unnecessary friction – just a clean, focused giving experience that works wherever your audience already is.


Why Use the Mini Donation Widget?

Most donation plugins require donors to navigate to a dedicated campaign page before they can give. The Mini Donation Widget removes that barrier by embedding a complete giving experience exactly where your audience is already engaged: on your homepage, in a blog post, or alongside compelling content. It keeps the giving process fast, focused, and friction-free.


See It In Action


Requirements

  • Charitable Pro 1.8.13.1 or later
  • For the Monthly/Give Once recurring tab: the Charitable Recurring addon must be active

Getting Started

Adding the Block

Mini donation widget block
  1. Open any page or post in the WordPress block editor.
  2. Click + to add a new block and search for Mini Donation Widget.
  3. Select a campaign from the Campaign dropdown in the block settings panel.
  4. Configure your preferred amounts, CTA mode, and styling options in the sidebar.
Mini donation select campaign

Using the Shortcode

Add [charitable_mini_widget campaign_id="123"] to any page, post, widget area, or template that supports shortcodes. Replace 123 with your campaign’s post ID.


Configuration Options / Parameter Reference

Core Parameters

ParameterTypeDefaultDescription
campaign_idinteger(required)The post ID of the campaign to donate to.
cta_modestringredirectHow the donate button behaves. redirect sends the donor to the campaign donation page; modal opens the form in a popup.
cta_labelstringDonate NowThe text label on the donate button.

Recurring / Tab Parameters

ParameterTypeDefaultDescription
recurringbooleanfalseSet to true to show Monthly and Give Once tabs. Requires Charitable Recurring.
monthly_labelstringMonthlyCustom label for the monthly tab.
give_once_labelstringGive OnceCustom label for the one-time tab.

Amount Parameters

ParameterTypeDefaultDescription
monthly_amountsstring10,25,50,100Comma-separated preset amounts for the monthly tab.
monthly_defaultstring25The pre-selected monthly amount. Must be in monthly_amounts.
monthly_show_otherbooleanfalseShow an “Other” button allowing a custom monthly amount.
onetime_amountsstring25,50,100,250Comma-separated preset amounts for the one-time tab.
onetime_defaultstring50The pre-selected one-time amount. Must be in onetime_amounts.
onetime_show_otherbooleanfalseShow an “Other” button allowing a custom one-time amount.

Impact Statement Parameters

Per-amount impact statements update dynamically as donors click different amount buttons.

ParameterTypeDefaultDescription
monthly_impact_{amount}string(empty)Impact text shown when the given monthly amount is selected. Example: monthly_impact_25="feeds a family for a month"
onetime_impact_{amount}string(empty)Impact text shown when the given one-time amount is selected. Example: onetime_impact_100="covers school supplies for 10 kids"

Validation Parameters

ParameterTypeDefaultDescription
min_amountnumber(none)Minimum allowed custom amount when “Other” is enabled.
max_amountnumber(none)Maximum allowed custom amount when “Other” is enabled.

Display Parameters

ParameterTypeDefaultDescription
show_currencybooleanfalseShow the ISO currency code (e.g., USD) next to preset amounts.
accent_colorstring(theme default)Hex color for button and accent styling, e.g., #e63946.
widget_alignstringcenterWidget alignment: leftcenter, or right.
widget_widthstring(auto)Max-width CSS value for the widget container, e.g., 400px or 100%.
widget_titlestring(none)Optional heading above the widget. Use {{campaign_title}} to insert the campaign name dynamically.
impact_alignstring(none)Text alignment for impact statements: leftcenter, or right.
classstring(none)Extra CSS class(es) added to the widget wrapper element.

Shortcode Example

[charitable_mini_widget
  campaign_id="42"
  cta_mode="modal"
  recurring="true"
  monthly_amounts="10,25,50,100"
  monthly_default="25"
  monthly_impact_10="provides clean water for a week"
  monthly_impact_25="feeds a family for a month"
  monthly_impact_50="sponsors a child's education"
  monthly_impact_100="funds a medical checkup"
  monthly_show_other="true"
  onetime_amounts="25,50,100,250"
  onetime_default="50"
  widget_title="Support {{campaign_title}}"
  accent_color="#e63946"
  widget_width="420px"
  widget_align="center"
]

Customization

CSS Variable

Override the accent color globally or per instance using the CSS custom property:

.charitable-mini-widget {
    --charitable-mini-widget-accent: #e63946;
}

Template Override

To customize the widget HTML, copy the template to your theme:

yourtheme/charitable-pro/shortcodes/mini-widget.php

Troubleshooting

The widget is not appearing on the front end

Confirm the campaign_id is set and corresponds to a published campaign. Editors will see an error message if the ID is missing or invalid; visitors will see nothing. Check that Charitable Pro 1.8.13.1 or later is active.

The Monthly tab is not showing

The recurring tab only appears when the recurring parameter is set to true and the Charitable Recurring addon is installed and active. If Recurring is not active, the widget silently falls back to one-time mode.

Impact statements are not updating when I click an amount

Verify that the amount in your monthly_impact_{amount} or onetime_impact_{amount} keys exactly matches the value in monthly_amounts or onetime_amounts (including decimal precision). impact_50 and impact_50.00 are treated as different keys.

The widget shows a placeholder box in Divi or WPBakery

This is expected behavior in visual page builder preview mode. The widget renders correctly on the published front end.

The CTA button is not opening a modal

Ensure cta_mode is set to modal. Modal mode requires the Charitable modal/donate button functionality included in Charitable Pro.


Developer Resources

Hooks & Filters

  • charitable_mini_widget_shortcode_output: Filters the final HTML output of the widget. Receives the HTML string and the parsed $args array.

CSS Classes

ClassElement
.charitable-mini-widgetRoot wrapper
.charitable-mini-widget__titleOptional widget title
.charitable-mini-widget__tabsMonthly/Give Once tab bar
.charitable-mini-widget__tab--activeCurrently active tab
.charitable-mini-widget__amountsAmount button group
.charitable-mini-widget__amount--selectedCurrently selected amount button
.charitable-mini-widget__amount--other“Other” amount button
.charitable-mini-widget__impactImpact statement area
.charitable-mini-widget__ctaDonate button

Template Override

Copy charitable-pro/shortcodes/mini-widget.php to yourtheme/charitable-pro/shortcodes/mini-widget.php to fully customize the widget markup.


Additional Resources

Not yet a Charitable Pro user? Sign up today and get up to 50% off on your plan. We’re confident you’ll love raising funds with Charitable. If, for any reason, Charitable is not the right fit for you, we’ll refund your purchase with our 14-day money-back guarantee.

Stay Connected for More Nonprofit Resources

For more tutorials and videos tailored to nonprofits, subscribe to our YouTube channel. We regularly publish expert tips, step-by-step guides on migrations like this GiveWP to Charitable switch, fundraising strategies, and practical resources to help your organization succeed.

🗞️ Get weekly tips and exclusive guides in your inbox
Join our newsletter →  

🎥 Watch step-by-step tutorials and success stories
Subscribe to our YouTube channel →  

👩🏽‍💻 Connect with our community and get daily nonprofit insights
Follow us on LinkedIn →

🥳 Fun reels and non-profit insights
Follow us on Instagram → 

👀 Insightful & fun videos to help you grow your cause
Follow us on TikTok→  

🌎 Subscribe and follow for general fundraiser tips
Get Fundraiser Tips on TikTok → 

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!

Improvement Migrations

↔️ Importing From GiveWP, Donorbox, GiveButter… even CSV!

Whether you’re migrating from another platform or consolidating your records, moving your data to Charitable is now faster and more flexible than ever. We’ve streamlined the process so you can bring over your entire fundraising history in just a few clicks.

🔄 Native GiveWP, Donorbox, & GiveButter Support: Switching from a major platform? Our dedicated migration tools handle the heavy lifting, automatically mapping your donors and donations directly into Charitable—no technical skills required.

📂 Universal CSV Import: Moving from a custom system or a specialized CRM? If you can export it to a CSV, you can import it here. Our smart mapping tool lets you align your columns to Charitable fields like names, emails, phone numbers, and addresses in seconds.

Instant Donor Profiles & Custom Tags: Automatically create rich donor profiles and bring in custom tags to keep your data organized. Segment and engage your supporters from day one with a clean, professional database structure.


Ready to make the switch?

Check out our GiveWP Migration Guide

Learn more about our Import Tools

Improvement Payments

💳 New Braintree Features For Your European Donors

With the release of Braintree addon version 1.3.0, you can now empower your European donors with the payment methods they trust and prefer, making giving seamless for international supporters.

🌍 Six New European Payment Methods: Support popular local options like iDEAL (Netherlands), Bancontact (Belgium), BLIK (Poland), and more to meet donors where they are.

⚡ Frictionless Donor Experience: These bank-based methods allow donors to authenticate directly with their own bank in a secure popup… no credit card numbers required.

⚙️ Automatic Currency Sync: No complex setup needed. The builder automatically displays the correct payment buttons based on your site’s currency (EUR or PLN), ensuring a relevant experience for every visitor.

Campaigns New

🖼️ Campaign Featured Images: Pro-Level Visuals Made Simple

With the new Campaign Featured Image setting in our visual builder, you now have a single, dedicated place to manage how your fundraisers look across your entire site and beyond.

🖼️ One Image, Everywhere: Set a primary thumbnail that automatically syncs to campaign grids, lists, and shortcodes—no more relying on layout order.

📱 Social Sharing Optimized: Easily upload images at the perfect size to ensure your campaigns look stunning and professional when shared on social media.

🔍 SEO & Accessibility Ready: Add custom alt text directly within the builder to improve search rankings and ensure your mission is accessible to every supporter.

Improvement receipts

🗓️ Annual Receipts 2.0: Send Year-End Receipts to Every Donor in Minutes

You can now send annual receipts in minutes with a few clicks to all your donors.

📧 One-Click Bulk Send Wizard that guides you to sending to hundreds of donors simultaneously directly from your WordPress dashboard.

🔍 Smart “Dry Run” Mode: See exactly who will receive a receipt and who will be skipped (and why) before a single email leaves your server.

🛡️ SMTP-Aware & Limit Protection: Charitable now detects your email setup and automatically adjusts batch sizes and pauses for daily limits to ensure your emails land in inboxes.

✅ Complete Audit Trail: Dedicated system log and on the individual donor’s profile, giving you a clear history for every fiscal year.

Stop dreading tax season and start spending that time on your mission. Update to Annual Receipts 2.0 and automate your year-end reporting today.

Addon Donations Improvement

🎈Recurring Donations 2.0: Smarter Automation, Better Recovery, and More Control

We’ve completely rebuilt our Recurring Donations system to help you grow your reliable income stream while giving you (and your donors) more powerful tools than ever before.

What’s New:

🔒 Recurring-Only Campaigns: You can toggle “Recurring Only” mode in the campaign builder to hide the one-time option entirely, ensuring your supporters stay focused on long-term commitment.

📧 Automatic Payment Recovery: Our new Payment Failed Email fires automatically the moment a subscription fails.

🛠️ Self-Service Donor Control:The new Cancel Subscription Button appears directly in the donor dashboard, allowing supporters to pause or end their recurring gifts on their own terms—reducing your admin burden and payment disputes.

📊 Real-Time Revenue Insights: Track your growth, monitor active subscriptions, and see exactly how much predictable support is coming in each month at a glance.

Our new Recurring Donations addon gives you the professional-grade tools you need to grow your mission.