Skip to content

Blocks & Shortcodes Reference

Technical reference for Ignition Crowdfunding’s Gutenberg blocks and shortcodes.

Property Value
Name igcf/auth-form
Class Igcf_Auth_Form
Render callback Igcf_Auth_Form::render_form()
Server-side rendered Yes

Attributes:

Attribute Type Default Description
className string "" Additional CSS class(es) for the block wrapper
[igcf_auth_form]

No attributes. Equivalent to inserting the block.

Action Access Description
igcf_login Non-logged-in (wp_ajax_nopriv_) Handle login
igcf_register Non-logged-in (wp_ajax_nopriv_) Handle registration
igcf_login Logged-in (wp_ajax_) Returns already-logged-in message
igcf_register Logged-in (wp_ajax_) Returns already-logged-in message
Handle File Dependencies Context
igcf-auth-form (CSS) build/css/auth-form.css — Frontend
igcf-auth-form (JS) build/js/auth-form.js — Frontend
igcf-auth-form-editor (JS) build/js/auth-form-editor.js — Block editor

The dashboard includes the campaign form wizard for creating and editing campaigns. There is no separate campaign form block or shortcode; the form is accessed via the dashboard’s ?view=create and ?view=edit&campaign_id=X subviews.

Property Value
Name igcf/dashboard
Class Igcf_Dashboard
Render callback Igcf_Dashboard::render_dashboard()
Server-side rendered Yes

Attributes:

Attribute Type Default Description
className string "" Additional CSS class(es) for the block wrapper
[igcf_dashboard]

No attributes. Equivalent to inserting the block.

Campaign state transitions (pause, resume, end) use the Abilities API via wp.apiFetch. Campaign update CRUD uses the REST API (/igcf/v1/campaigns/{id}/updates). Pledge actions (record offline payment, cancel, issue refund) also use the Abilities API.

Script handle igcf-dashboard receives igcfDashboard:

Key Type Description
i18n object Translated UI strings

i18n keys: pauseConfirm, resumeConfirm, endConfirm, pauseSuccess, resumeSuccess, endSuccess, error, pauseLabel, resumeLabel, endLabel, pausingLabel, resumingLabel, endingLabel, createSuccess, editSuccess, deleteConfirm, deleteSuccess, editLabel, deleteLabel, saveLabel, cancelLabel, updateTitleLabel, contentLabel, imageLabel, selectImage, changeImage, removeImage, uploadTitle, uploadButton, writeUpdate, optionalLabel, updatesHeading, postingLabel, savingLabel, titleRequired, requiredLabel, noUpdatesYet, manageLabel, actionsLabel, cancelConfirm, cancelSuccess, cancellingLabel, confirm_paymentConfirm, confirm_paymentSuccess, confirmingPaymentLabel, settleConfirm, settleSuccess, settlingLabel, backToCampaign

Handle File Dependencies Context
igcf-dashboard (CSS) build/css/dashboard.css — Frontend
igcf-dashboard (JS) build/js/dashboard.js wp-api-fetch Frontend
igcf-dashboard-editor (JS) build/js/dashboard-editor.js — Block editor

The Checkout block now handles both the amount-selection step and the review/confirmation step. It dispatches between modes by URL query string:

Query Mode
?campaign_id=N Selection — PWYW chooser
?campaign_id=N&reward_level_id=R Selection — tier confirmation
?campaign_id=N&amount=... Review and confirmation

For campaigns without reward tiers, the campaign-page sidebar form posts directly to review mode and selection mode is skipped.

Property Value
Name igcf/checkout
Class Igcf_Checkout
Render callback Igcf_Checkout::render_checkout()
Server-side rendered Yes

Attributes:

Attribute Type Default Description
className string "" Additional CSS class(es) for the block wrapper
[igcf_checkout]

No attributes. Equivalent to inserting the block.

Pledge creation uses the REST API (POST /igcf/v1/campaigns/{id}/pledges). The checkout flow is server-rendered with a standard HTML form submission (no client-side JavaScript API calls).

The checkout template fires several action hooks for add-on integration:

  • igcf_checkout_payment_method — Render custom payment method UI (replaces offline payment label).
  • igcf_checkout_payment_confirmation — Render custom confirmation content (replaces offline payment instructions).
  • igcf_checkout_share — Render share UI on the receipt (default consumer is the Better Sharing post-pledge widget).

See the Actions Reference for parameters.

Handle File Dependencies Context
igcf-pledge-flow (CSS) build/css/pledge-flow.css — Frontend
igcf-checkout (CSS) build/css/checkout.css igcf-pledge-flow Frontend + Block editor
igcf-currency (JS) build/js/currency.js — Frontend
igcf-number-input (JS) build/js/number-input.js — Frontend
igcf-checkout (JS) build/js/checkout.js wp-i18n, igcf-currency, igcf-number-input Frontend
igcf-checkout-editor (JS) build/js/checkout-editor.js wp-blocks, wp-block-editor, wp-components, wp-data, wp-element, wp-i18n Block editor

Server-rendered grid of campaign cards. Both block and shortcode delegate to a shared render method that uses Igcf_Campaign_Query for filtering and sorting and reuses partials/campaign-card.php for card markup.

Property Value
Name igcf/campaign-grid
Class Igcf_Campaign_Grid
Render callback Igcf_Campaign_Grid::render()
Server-side rendered Yes

Attributes:

Attribute Type Default Description
count integer 6 Number of cards (1–50).
columns integer 3 Desktop columns (1–4).
status string "" Status slug filter.
category string "" Category term slug filter.
tag string "" Tag term slug filter.
sort string ending_soon One of: ending_soon, most_funded, newest, most_backers, closest_to_goal.
featured boolean false Limit to Featured campaigns.
showStatus boolean true Show status badges.
showCategories boolean true Show category labels.
showTags boolean true Show tag chips.
className string "" Additional wrapper class(es).
[igcf_campaign_grid count="6" columns="3" sort="most_funded"]

Shortcode names use snake case: show_status, show_categories, show_tags, plus all camelCase block attributes accept their snake-case equivalents.

Hook Type Parameters Description
igcf_campaign_grid_query_args filter $args, $atts Modify the WP_Query args before the grid query runs.
igcf_before_campaign_grid action $atts, $query Fires immediately before the grid markup.
igcf_after_campaign_grid action $atts, $query Fires immediately after the grid markup.
Handle File Dependencies Context
igcf-campaign-card (CSS) build/css/campaign-card.css — Frontend + Block editor
igcf-campaign-grid (CSS) build/css/campaign-grid.css igcf-campaign-card Frontend + Block editor
igcf-campaign-grid-editor (JS) build/js/campaign-grid-editor.js wp-blocks, wp-block-editor, wp-components, wp-element, wp-i18n, wp-server-side-render Block editor

Server-rendered single-campaign hero. Resolves a campaign in either auto mode (criteria pick via Igcf_Campaign_Query) or manual mode (specific campaign ID) and reuses partials/campaign-featured.php for hero markup.

Property Value
Name igcf/featured-campaign
Class Igcf_Featured_Campaign
Render callback Igcf_Featured_Campaign::render()
Server-side rendered Yes

Attributes:

Attribute Type Default Description
mode string auto auto picks by criteria; manual uses campaignId.
campaignId integer 0 (Manual mode) campaign post ID to render.
autoCriteria string most_funded (Auto mode) one of: most_funded, ending_soon, most_backers, closest_to_goal, newest.
className string "" Additional wrapper class(es).
[igcf_featured_campaign mode="auto" auto_criteria="ending_soon"]
[igcf_featured_campaign mode="manual" campaign_id="123"]
Hook Type Parameters Description
igcf_campaign_featured_resolved_id filter $resolved_id, $atts Override the campaign ID resolved by auto/manual mode before the hero renders.
Handle File Dependencies Context
igcf-campaign-card (CSS) build/css/campaign-card.css — Frontend + Block editor
igcf-featured-campaign (CSS) build/css/featured-campaign.css igcf-campaign-card Frontend + Block editor
igcf-featured-campaign-editor (JS) build/js/featured-campaign-editor.js wp-blocks, wp-block-editor, wp-components, wp-element, wp-i18n, wp-server-side-render, wp-api-fetch Block editor

Campaign lifecycle actions (pause, resume, end, close, feature, unfeature, withdraw) use the Abilities API via wp.apiFetch. Moderation actions (approve, reject) are not part of core — Ignition Platform Mode injects them via the igcf_campaign_row_actions / igcf_campaign_bulk_actions filters and owns their handlers.

Script handle igcf-campaign-list receives igcfCampaignList:

Key Type Description
i18n object Translated UI strings

i18n keys: confirmPause, confirmResume, confirmEnd, confirmClose, confirmGeneric, genericError

Handle File Dependencies Context
igcf-campaign-list (CSS) build/css/campaign-list.css — Admin
igcf-campaign-list (JS) build/js/campaign-list.js wp-api-fetch Admin

Deleting an update uses the REST API via wp.apiFetch. Moderation actions (approve, reject) are not part of core — Ignition Platform Mode injects them via the igcf_update_bulk_actions filter and owns their abilities and handlers.

Script handle igcf-update-list receives igcfUpdateList:

Key Type Description
i18n object Translated UI strings

i18n keys: confirmDelete, deleteSuccess, genericError

Handle File Dependencies Context
igcf-update-list (CSS) build/css/update-list.css — Admin
igcf-update-list (JS) build/js/update-list.js wp-api-fetch Admin

Pledge actions (record offline payment, cancel, issue refund) use the Abilities API via wp.apiFetch.

Script handle igcf-pledge-list receives igcfPledgeList:

Key Type Description
i18n object Translated UI strings

i18n keys: confirmPayment, confirmCancel, confirmSettle, notePrompt, genericError

Handle File Dependencies Context
igcf-pledge-list (CSS) build/css/pledge-list.css — Admin
igcf-pledge-list (JS) build/js/pledge-list.js wp-api-fetch Admin