FREE block. Displays a grid of sub-campaigns that have a WordPress post-parent relationship to the current action.

Why use this
When a fundraising campaign is structured so that individual supporter pages are created as WordPress child posts of a parent campaign, this block automatically generates a browseable grid of those sub-campaigns.
What it does
The block runs a WP_Query for get_fund_action posts with post_parent = $post_id. For each result it renders a card showing the title, a short excerpt (15 words), progress statistics, and the creator’s name (respecting the anonymous meta). Cards link to the individual action page.
Important distinction from Campaign Members: This block uses WordPress post-parent hierarchy (post_parent). The Campaign Members block uses the _get_fund_campaign_id meta relationship. These serve different structural setups and should not be interchanged.
This block does not support Query Loop context. It is intended for single action pages.
How to use it
- Add the Child Actions block to a campaign page template.
- Set the number of columns in the grid.
- The block automatically queries for child posts.
Settings and options
| Option | Type | Default | Description |
|---|---|---|---|
| Post ID override | number | 0 | Force a specific parent post ID |
| Columns | number | 3 | Number of grid columns |
What you can and cannot do
- The block only shows actions linked via
post_parent, not via_get_fund_campaign_idmeta. - Cards are not paginated; up to the query default limit are shown.
- Currency symbol is hardcoded to
€in card amounts.
Developer reference
Filter: query arguments
apply_filters(
'get_fund_child_actions_query_args',
array $args,
int $post_id
);
| Parameter | Description |
|---|---|
$args | WP_Query args: post_type, post_parent, posts_per_page, orderby, order |
$post_id | Parent post ID |
Filter: output
apply_filters(
'get_fund_child_actions_block_output',
string $output,
array $attributes,
int $post_id
);
Example: increase posts per page
add_filter( 'get_fund_child_actions_query_args', function( $args, $post_id ) {
$args['posts_per_page'] = 12;
return $args;
}, 10, 2 );