DOCS

Troubleshooting

This guide covers the most common problems reported with Fundations FREE and Pro. For each issue the likely cause and solution are listed.

Applies to: Fundations 2.8.0+, Fundations Pro 1.7.0+.

Contents

Donation form issues

The donation form shows a migration banner or nothing at all

Cause: As of version 2.8.0, the donation form block (“Forms”) requires a Form Template to be assigned. Blocks that previously used the old inline configuration no longer render any form to visitors.

Solution:

  1. Go to Fundations, Forms in the WordPress admin.
  2. Create a new Form Template, or duplicate a preset.
  3. Edit each post or page that contains a donation form block.
  4. In the block sidebar, open the Form Template panel and select your template.
  5. Save the post.

A dashboard admin notice lists all posts that still have a donation form block without a template assigned, with direct edit links.

Forms migration banner

The form submits but redirects to a blank or wrong page

Cause: The thank-you page ID stored in settings does not match an existing page, or the Form Template has a thank-you page override pointing to a deleted page.

Solution:

  • Check Fundations, Settings, Pages and confirm the thank-you page exists.
  • Check the Form Template settings under Fundations, Forms and clear any thank-you page override if the page has been deleted.

Donation amounts are not showing the right preset values

Cause: Amount presets are now configured inside the Form Template’s Donation Amounts system field settings, not in the block inspector.

Solution: Open Fundations, Forms, edit your template, and configure the Donation Amounts field settings on the canvas.

The form rate-limit error appears for legitimate donors

Cause: Fundations limits donation submissions to 5 per IP address per 15 minutes. Donors behind shared NAT or VPNs can hit this limit.

Solution: There is no admin toggle for this limit in the current version. For high-volume events, consider hosting the event on a dedicated subdomain with a separate IP if the limit causes problems. You can also hook into the submission flow to extend it; see the Developer reference.

Payment issues

Donations are stuck on Pending after PayPal payment

Cause: PayPal IPN/webhook did not reach your site, or the webhook URL is wrong.

Solution:

  1. Confirm your site URL is publicly accessible (not localhost or a staging domain blocked from the internet).
  2. Check Fundations, Settings, Payments for the PayPal webhook URL.
  3. In your PayPal developer dashboard, verify that the webhook points to that URL and is active.
  4. Check your server error log for any failed POST requests to /wp-json/get-fund/v1/paypal-webhook.

Progress bar does not update after a Mollie or PayPal payment

Cause: A bug in versions before 2.8.0 could leave raised amounts out of sync after Mollie and PayPal payments returned.

Solution: Update Fundations to 2.8.0 or later. If stats are already out of sync, use the “Recalculate from Donations” button in the campaign admin meta box to rebuild the raised amount from actual paid donations.

Mollie or Stripe settings are not visible in the Settings panel

Cause: Mollie and Stripe are Pro-only features. Without an active Fundations Pro license the settings panels are hidden.

Solution: Activate Fundations Pro and enter a valid license key under Fundations, Settings, License.

Stripe webhook returns 400 errors

Cause: The Stripe webhook secret in settings does not match the secret shown in the Stripe dashboard for that webhook endpoint.

Solution:

  1. In the Stripe dashboard, open Webhooks and find the endpoint pointing to /wp-json/get-fund/v1/stripe-webhook.
  2. Reveal the signing secret for that endpoint.
  3. Paste it into Fundations, Settings, Payments, Stripe Webhook Secret.

A Mollie payment completed but the donation stayed Pending for hours

Cause: The Mollie webhook was not delivered (firewall, server downtime, or Cloudflare challenge page blocking POST requests).

Solution: Fundations Pro includes a 30-minute reconciliation cron that retries missed webhooks. If the donation is still pending after 30 minutes, check your server’s firewall and Cloudflare settings. Disable “Under Attack” mode and ensure POST requests to /wp-json/ are not blocked.

Action Wizard issues

The Action Wizard page returns a 404

Cause: The wizard page does not exist, has been deleted, or its slug does not match the setting.

Solution:

  1. Go to Fundations, Settings, Pages.
  2. Confirm a page is assigned for “Create Fundations”. The default slug is /create-fundations.
  3. If the page is missing, run page installation from the Settings page.
  4. Flush your WordPress permalink settings (Settings, Permalinks, Save Changes).

The wizard does not let users create campaigns

Cause: The publish_get_fund_actions capability is not assigned to the user’s role, or the wizard is set to admin-only mode.

Solution: Check Fundations, Settings for any role restriction on wizard access. For custom roles, assign the publish_get_fund_actions capability.

Guest fundraisers did not receive the claim email

Cause: WordPress transactional email delivery is unreliable without an SMTP plugin.

Solution: Install an SMTP plugin (for example, WP Mail SMTP) and configure it to send through a transactional mail service. Claim tokens remain valid for 30 days.

Events do not appear in the wizard dropdown

Cause: Either no events have been created under the get_fund_event taxonomy, or the event assignment setting is set to admins only.

Solution:

  1. Create at least one term under Fundations, Events (or via the taxonomy admin).
  2. Go to Fundations, Settings and confirm the Event Creation setting allows all users (not admins only).

Blocks and editor issues

Blocks show empty values in the editor

Cause: Most Fundations blocks are server-rendered and require a get_fund_action post context. Previewing a block outside a fundraising post template will show empty or demo values.

Solution: Use the block inside the single fundraising post template, or enable Demo Mode (where supported) for the preview.

The Fundations block category does not appear

Cause: The plugin is not active, or a plugin conflict is preventing block registration.

Solution: Confirm the plugin is active. Deactivate other plugins temporarily to identify conflicts. Check the browser console for JavaScript errors during block registration.

The Filter Bar block (Pro) does not narrow results

Cause: The block requires a Query Loop block on the same page targeting get_fund_action posts. AJAX filtering only works when the query block is configured correctly.

Solution: Ensure the Query Loop (or Greenshift query block) is set to query get_fund_action posts and that the Filter Bar block is on the same page. Check the browser network tab for AJAX errors on filter change.

User roles and permissions

The Fundraiser (fund_member) role is missing

Cause: The role is created on plugin activation. If the plugin was installed manually or the activation hook did not run, the role may be absent.

Solution: Deactivate and reactivate the Fundations plugin to trigger role registration.

A Fundraiser can see WordPress admin screens they should not access

Cause: Another plugin or role management tool has added extra capabilities to the fund_member role.

Solution: Use a role editor plugin (for example, Members or User Role Editor) to review and remove capabilities from the fund_member role that should not be there. The role should only have capabilities needed for frontend fundraising.

Cache and performance

Donation totals on the frontend are stale after a payment

Cause: A page caching plugin is serving a cached version of the fundraising page.

Solution: Exclude fundraising pages from full-page caching in your caching plugin’s settings. The page slugs to exclude are:

  • /create-fundations
  • /edit-fundations
  • /claim-fundations
  • /thankyou-fundations
  • All individual fundraising pages (by post type: get_fund_action)

Fundations automatically purges caches for supported plugins after successful donations.

Admin pages are slow to load

Cause: The get_fund_action_stats table may need recalculation, or a large number of donations requires the stats model to rebuild.

Solution: Go to an individual fundraising page in the admin and use the “Recalculate from Donations” button in the meta box. For site-wide recalculation, a developer can call Get_Fund_Stats_Model::recalculate_all() directly.

WooCommerce (Pro)

This section applies to Fundations Pro only. WooCommerce integration requires an active Pro license.

The Fundations Donation tab is missing from the WooCommerce product edit screen

Cause: In versions before 2.3.1, WooCommerce hooks were registered too early. This was fixed in 2.3.1.

Solution: Update Fundations Pro to the latest version. The tab registers on plugins_loaded so it works regardless of plugin load order.

WooCommerce orders are created with the wrong status

Cause: A bug in Pro versions before 1.7.0 caused order status mismatches on Pending and lead orders.

Solution: Update Fundations Pro to 1.7.0 or later.

The WooCommerce checkout notice appears for non-admin users

Cause: A bug in Pro versions before 1.7.0 showed an admin notice about missing fund actions to all visitors.

Solution: Update Fundations Pro to 1.7.0 or later.

CRM integrations (Pro)

This section applies to Fundations Pro only.

An integration trigger fired but the CRM received no data

Cause: The API key is wrong, the field mapping has an empty required field, or the integration is paused.

Solution:

  1. Go to Fundations, Integrations, and check the Integration Logs for the failed sync.
  2. Open the log entry to view the request and response data.
  3. Check that the API key is correct and the connected CRM account is active.
  4. Review the field mapping for empty required fields.

Integration logs stop appearing after 30 days

Cause: By design. The Integration Logger retains 30 days of records.

Solution: Export log data before the 30-day window if you need longer retention.

Automation rules with delay are not firing

Cause: Delayed rules rely on WordPress cron. If WP-Cron is disabled or unreliable on your host, delayed rules will not execute on schedule.

Solution: Configure a real server-side cron to call wp-cron.php on a schedule (typically every minute), or use an external cron service.

Database and data issues

The donation data migration never completes

Cause: The migration processes donations in batches of 50. If a batch fails due to a timeout or database error, the migration pauses at in_progress state.

Solution:

  1. Go to Fundations, Settings, Migration (or the admin page where the migration tool is exposed).
  2. Check the migration status.
  3. If status is failed, use the Reset button and restart the migration.
  4. If batches time out, consider increasing max_execution_time in your PHP configuration.

See Internal donation data migration for full details.

Stats are incorrect after manual donation edits

Cause: Manually editing donation records in the database does not automatically trigger stats recalculation.

Solution: Use the “Recalculate from Donations” button in the campaign admin meta box after any manual data changes.

General WordPress conflicts

A theme override is applying styles to Fundations blocks unexpectedly

Cause: Some block themes inject global element styles that affect server-rendered blocks.

Solution: Use the Fundations styling settings (Fundations, Settings, Styling) to override the primary color and typography values. For advanced overrides, add CSS using the block’s class name in the site editor or a custom CSS field.

After updating, some settings appear reset

Cause: Some settings were added, renamed, or moved in the 2.6.0 merge of styling sub-tabs. Settings that were in removed sub-tabs may need to be re-entered.

Solution: Review your settings after any major update. The Settings export/import tool (Fundations, Settings) can be used to back up and restore settings.