Skip to content

Ignition Crowdfunding v0.10.0

This release adds Test Campaigns — an admin-only mode that runs full pledge flows against an isolated, publicly-hidden campaign so payment gateways and email pipelines can be exercised without polluting real data. The wp-admin Pledges screen gains two CSV exports: Export Pledges (line items, respects filters) and Export Backers (one row per backer × currency, with a per-status pivot). Site owners can now flip a single Public campaign creation switch to keep new registrants on the backer role while leaving the door open to creators. The pledge review screen consolidates its identity section into two clear states — logged-in (with an inline Sign out link and live “Pledging as” preview) and logged-out (equal-weight Guest / Sign in / Register paths) — and the new-user welcome email is now a fully branded HTML message with a working Set-your-password link.

  • Test Campaigns — Administrators can duplicate a real campaign as a test campaign ([TEST] … prefix, isolated Test status) or click Add New Test Campaign to start one from scratch. Test campaigns accept pledges through the real pipeline so gateways, emails, and dashboards can be exercised, but they never appear in the public archive and their pledges are excluded from guest- and verification-cleanup aggregates. A new Test Campaigns admin-side toggle hides them from the admin campaign list for admins who don’t want to see them. See Test Campaigns.
  • Admin CSV exports for pledges and backers — Two new buttons sit next to the H1 on the wp-admin Pledges page. Export Pledges emits one row per pledge (16 columns) and respects every filter on the list — status, campaign, month, search. Export Backers emits one row per (backer, currency) pair with a per-status pivot (15 columns) and ignores the status filter by design so a single CSV captures a backer’s whole picture across Pledged / Paid / Cancelled / Settled. See Settings.
  • Public campaign creation toggle — A new Public campaign creation field in Settings → General lets site owners decide whether anyone who registers through the frontend lands as a campaign creator (default) or as a regular backer. Existing creators are unaffected; the toggle only controls new registrations. The plugin’s auth form no longer reads the WordPress Anyone can register setting — the Register tab is always available, and the new toggle plus add-on filters carry the policy. See Ignition Platform Mode.
  • Branded welcome email — New users created through wp-admin → Users → Add New (Backer or Campaign Creator role) now receive a branded HTML welcome email with a working “Set your password” button. The hijacked WordPress-default plain-text email is suppressed for plugin roles and preserved for everyone else. See Email Notifications.
  • Pledge review identity (logged-out) — Logged-out backers now see explicit, equal-weight paths on the review step: a full-width “Continue as Guest” CTA (with inline email entry) when guest checkout is enabled, plus a two-column outlined Sign in / Register row underneath. When guest checkout is off, the email field disappears and only the Sign in / Register row remains. The Register link pre-selects the Register tab on the auth page. See Checkout — Identity section.
  • Pledge review identity (logged-in) — The “Pledging as” card now shows a Sign out link aligned right of the backer’s name, and the Hide my name checkbox is a live preview of the public backer-list row — toggling it flips the visible name between the backer’s display name and “Anonymous” without a reload. The card no longer displays the user’s email, since it is now a preview of the public row where email is never shown. The Terms & Conditions checkbox was moved to sit directly above the Confirm Pledge button.
  • Reward levels carry through campaign duplication — The wp-admin Duplicate row action now clones every reward tier — title, amount, quantity limit, one-per-backer flag, featured image, display order, and active/inactive state — with the claimed count reset to zero on each clone. Duplicating no longer produces a draft with no tier structure. See Managing Campaigns — Duplicating a campaign.
  • Creator dashboard export rename — The creator-side Export Backers button on the campaign detail view is now labelled Export Pledges to match what it actually emits (one row per pledge). The downloaded filename follows the new pattern campaign-{slug}-pledges-{date}.csv.
  • New actions — igcf_user_welcome_needed (a new user needs the branded welcome email — fires after WP’s plain-text suppression for plugin roles), igcf_checkout_identity_before and igcf_checkout_identity_after (wrap the entire identity section on the pledge review step). See Actions Reference and Authentication.
  • New filters — igcf_can_create_campaign (gate the campaign-creation form per-user; create-mode only), igcf_welcome_set_password_url (rewrite the set-password URL embedded in the branded welcome email), igcf_checkout_identity_html (wrap or fully replace the rendered identity section HTML), igcf_admin_pledge_export_columns / igcf_admin_pledge_export_row (admin pledge CSV shape), igcf_admin_backer_export_columns / igcf_admin_backer_export_row (admin backer CSV shape), and igcf_pledge_backer_aggregates_args (adjust the query args for the aggregated-backer query). See Filters Reference.
  • Filter rename (creator export) — igcf_backer_export_columns / igcf_backer_export_row are renamed to igcf_creator_pledge_export_columns / igcf_creator_pledge_export_row. The creator-side query var ?igcf_action=export_backers is renamed to export_pledges, the nonce action igcf_export_backers_{id} to igcf_export_pledges_{id}, and the underlying class Igcf_Backer_Export to Igcf_Creator_Pledge_Export. This is a pre-release breaking change with no compatibility shim.
  • Service layer additions — Igcf_Campaign_Service::create() now accepts is_test => bool; when set with edit_others_igcf_campaigns, the new campaign is promoted to the igcf_test status with the [TEST] title prefix. New helpers: Igcf_Test_Campaign::promote(), is_test(), get_test_campaign_ids(), pledge_exclusion_clause(), prefix_with_marker(); Igcf_Pledge_Service::query_backer_aggregates() and build_args_from_request(); Igcf_Reward_Level_Service::clone_for_campaign(). See Service Layer.
  • REST: is_test on campaign create — POST /igcf/v1/campaigns accepts a top-level is_test boolean (edit context, admin-only). When true, the service-layer guard requires edit_others_igcf_campaigns — non-admin callers receive WP_Error('igcf_test_capability', …). See REST API — Campaigns.
  • New post status: igcf_test — Custom post status used by the test-campaign isolation layer. Test campaigns are publish-locked at igcf_test; transitioning to any other status is reverted server-side. The status is excluded from public archive queries and visible only to users with edit_others_igcf_campaigns.
  • New merge tag: {set_password_url} — Available in the welcome email template; resolves to the user’s set-password URL (filtered by igcf_welcome_set_password_url).
  • Checkout identity BEM consolidation — The three legacy identity-section modifiers (.igcf-checkout__identity--logged-in, --guest, --auth-required) collapse to two (--logged-in and --logged-out). New element classes: .igcf-checkout__identity-row, __display, __signout, __toggle, __guest-path, __email, __email-help, __error, __guest-submit, __divider, __auth-row. Theme overrides of checkout.php need to re-sync. See CSS Classes — Checkout.