Blocks & Shortcodes Reference
Technical reference for Ignition Crowdfunding’s Gutenberg blocks and shortcodes.
Auth Form
Section titled “Auth Form”| 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 |
Shortcode
Section titled “Shortcode”[igcf_auth_form]No attributes. Equivalent to inserting the block.
AJAX endpoints
Section titled “AJAX endpoints”| 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 |
Assets
Section titled “Assets”| 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 |
Dashboard
Section titled “Dashboard”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 |
Shortcode
Section titled “Shortcode”[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.
Localized data
Section titled “Localized data”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
Assets
Section titled “Assets”| 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 |
Checkout
Section titled “Checkout”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 |
Shortcode
Section titled “Shortcode”[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.
Assets
Section titled “Assets”| 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 |
Campaign Grid
Section titled “Campaign Grid”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). |
Shortcode
Section titled “Shortcode”[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. |
Assets
Section titled “Assets”| 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 |
Featured Campaign
Section titled “Featured Campaign”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). |
Shortcode
Section titled “Shortcode”[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. |
Assets
Section titled “Assets”| 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 |
Admin Campaign List
Section titled “Admin Campaign List”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.
Localized data
Section titled “Localized data”Script handle igcf-campaign-list receives igcfCampaignList:
| Key | Type | Description |
|---|---|---|
i18n |
object |
Translated UI strings |
i18n keys: confirmPause, confirmResume, confirmEnd, confirmClose, confirmGeneric, genericError
Assets
Section titled “Assets”| 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 |
Admin Update List
Section titled “Admin Update List”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.
Localized data
Section titled “Localized data”Script handle igcf-update-list receives igcfUpdateList:
| Key | Type | Description |
|---|---|---|
i18n |
object |
Translated UI strings |
i18n keys: confirmDelete, deleteSuccess, genericError
Assets
Section titled “Assets”| 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 |
Admin Pledge List
Section titled “Admin Pledge List”Pledge actions (record offline payment, cancel, issue refund) use the Abilities API via wp.apiFetch.
Localized data
Section titled “Localized data”Script handle igcf-pledge-list receives igcfPledgeList:
| Key | Type | Description |
|---|---|---|
i18n |
object |
Translated UI strings |
i18n keys: confirmPayment, confirmCancel, confirmSettle, notePrompt, genericError
Assets
Section titled “Assets”| 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 |