FREE block. Displays a horizontal bar filled to the percentage of the fundraising goal that has been reached.

Why use this
The progress bar gives visitors an immediate visual signal of how far along a fundraiser is. It is the most common element on a Fundations action page and is also suitable for archive grids and Query Loop templates.
What it does
The block reads the current action’s raised amount and goal, calculates the percentage, and renders a filled When placed inside a Query Loop, the block resolves the post ID from the loop context automatically. Bar colors are set globally, not per block. Go to Settings > Fundations > Appearance to change: Archive grid card: Place the block inside a Query Loop card template to show a progress bar for each action in a grid. Donation sidebar: Add the bar at the top of a sidebar pattern alongside the Raised Amount and Goal Amount blocks. Bar does not appear or shows 0%: Confirm the page is an action page ( Bar color does not change after updating block: Bar colors are global. Change them at Settings > Fundations > Appearance, not in the block editor. Bar shows sample data on a non-action page: Demo mode is active. Disable it at Settings > Fundations > General. Example: add a custom label below the barHow to use it
Settings and options
Option Type Default Description Height number 30 Bar height in pixels Border radius number 0 Corner rounding in pixels Post ID override number 0 Force a specific post ID (advanced use) Setting key Description get_fund_progress_colorGradient start color get_fund_progress_color_endGradient end color get_fund_progress_bg_colorUnfilled track background color What you can and cannot do
Examples
Troubleshooting
get_fund_action post type) or that a valid post ID override is set. Also check that a goal amount is set on the action — if the goal is 0 the percentage cannot be calculated.Developer reference
Output filter
apply_filters(
'get_fund_progress_block_output',
string $output,
array $fund_data,
array $attributes,
int $post_id
);Parameter Type Description $outputstring Full block HTML $fund_dataarray Keys: amount, raised_amount, actual_raised, offset, status, is_expired, percentage, post_id, end_date, days_remaining, title$attributesarray Block attributes $post_idint Resolved post ID add_filter( 'get_fund_progress_block_output', function( $output, $fund_data, $attributes, $post_id ) {
$label = sprintf(
'<p class="my-progress-label">%d%% funded</p>',
(int) $fund_data['percentage']
);
return $output . $label;
}, 10, 4 );