DOCS

Form builder

> Available in: Fundations (free) for core form building. Fundations Pro for signature field management.

The Form Builder lets you create custom donation form templates with a mix of system fields and custom fields. Each get-fund/donation-form block instance can reference a saved template. The admin page is at Fundations → Forms.

Why use this

Different campaigns need different forms. A charity auction needs different fields than a personal fundraiser. The Form Builder lets you create and reuse form configurations without editing code, then assign different templates to different donation form blocks across your site.

What it does

The Form Builder manages form templates. Each template is a saved configuration of fields that the donation form block renders. Templates are stored in the WordPress option get_fund_form_templates.

System fields

System fields are built-in and handle core donation functionality. Most are required for a working donation form.

Field keyDescription
system:donation_amountsPreset amount selector and custom amount input
system:platform_tipOptional tip percentage selector (Pro revenue model, see Tip Collection)
system:donor_first_nameDonor first name
system:donor_middle_nameDonor middle name
system:donor_last_nameDonor last name
system:donor_emailDonor email address
system:donor_phoneDonor phone number
system:donor_messageOptional message from donor
system:is_anonymousAnonymous donation toggle
system:marketing_consentMarketing consent checkbox (required for CRM automation triggers)
system:payment_methodsPayment method selector
system:totals_breakdownSummary of donation amount, tip, and total
system:signatureDigital signature pad (requires Pro for admin management)
system:campaign_goal_amountGoal amount input for campaign fundraisers
system:submit_buttonForm submit button

Custom field types

Custom fields collect additional data from donors.

TypeDescription
textSingle-line text
emailEmail address
numberNumeric input
telPhone number
urlURL
textareaMulti-line text
selectDropdown selector
radioRadio button group
checkboxSingle or multiple checkboxes
dateDate picker
dividerVisual divider
spacerVertical spacing
sectionSection heading
html_contentRaw HTML content block

Custom fields and integrations

Custom fields added to a form template are automatically registered as merge tags in the Integration system. They are available in the donation_received and donation_failed triggers. See Merge Tags for details.

How to use it

Creating a form template

  1. Go to Fundations → Forms.
  2. Click Add New Template.
  3. Give the template a name.
  4. Add system and custom fields from the left panel into the form layout.
  5. Configure each field (label, required toggle, options for select/radio/checkbox).
  6. Save the template.
Form builder editor

Assigning a template to a donation form block

  1. Open a fundation page in the block editor.
  2. Select the Donation Form block.
  3. In the block settings panel, choose your template from the Form Template dropdown.
  4. Save the page.

Importing and exporting templates

Templates can be exported as JSON and imported into another site using the import/export controls in the Form Builder.

Settings & options

Each custom field supports:

SettingDescription
LabelField label shown to the donor
RequiredWhether the field must be filled in
PlaceholderPlaceholder text inside the input
Help textShort description below the field
OptionsFor select, radio, checkbox: the list of choices

What you can and cannot do

  • You can create multiple templates and assign different ones to different donation form blocks.
  • You can reorder fields by dragging within the template editor.
  • You can add as many custom fields as needed.
  • You cannot remove required system fields such as system:donor_email and system:submit_button from the form entirely.
  • You cannot conditionally show or hide fields based on donor input (no conditional logic).
  • The system:signature field renders correctly on the frontend in the free plugin. Managing signature images, bulk deletion, and ZIP export require Fundations Pro. See Signature Field.

Troubleshooting

A custom field is not showing on the donation form. Confirm the field is saved in the template and that the donation form block on the page is using that template. Clear any caching plugins after saving.

Custom field data is not appearing in CRM integrations. Custom fields register as merge tags via the get_fund_integration_merge_tags filter. The tag key matches the field slug defined in the template. Confirm the field slug is correct and check your field mappings in the integration rule.

The form shows an error when a custom field is marked required. Custom field validation runs client-side. If JavaScript is disabled or a script conflict exists, validation may not work as expected. Check the browser console for errors.

Developer reference

Filters

// Modify the fields array for a specific donation form block instance
add_filter( 'get_fund_custom_fields', function( $fields, $attributes ) {
    // $attributes contains block attributes including template ID
    return $fields;
}, 10, 2 );

// Modify the field rows layout
add_filter( 'get_fund_custom_field_rows', function( $rows, $attributes ) {
    return $rows;
}, 10, 2 );

// Override template-level settings
add_filter( 'get_fund_template_settings', function( $settings, $attributes ) {
    return $settings;
}, 10, 2 );

// Override or extend system field definitions
// This is the main extension point for Pro to add behavior to system fields
add_filter( 'get_fund_form_builder_system_fields', function( $fields ) {
    return $fields;
} );

AJAX actions

ActionDescription
get_fund_save_form_templateSave or update a template
get_fund_delete_form_templateDelete a template by ID
get_fund_import_form_templatesImport templates from JSON

All require the get_fund_form_builder_nonce nonce and the manage_options capability.