- Handle Custom Stripe Webhook Events
- suredonation_export_secret_option_keys Filter Hook
- suredonation_import_batch_complete Action Hook
- suredonation_import_complete Action Hook
- suredonation_import_donation_inserted Action Hook
- suredonation_import_donor_inserted Action Hook
- suredonation_import_session_created Action Hook
- suredonation_import_givewp_batch_complete Action Hook
- suredonation_import_givewp_session_created Action Hook
- suredonation_privacy_data_exported Action Hook
- Validate Field Filter Hook
- Validatable Blocks Filter Hook
- Update donation data, Filter Hook
- OttoKit Integration: suredonation_suretriggers_integration_data_filter Filter Hook
- suredonation_show_setup_gateway_notice Filter Hook
- suredonation_show_review_notice_gateway Filter Hook
- suredonation_show_review_notice_donation Filter Hook
- suredonation_registered_payment_methods Filter Hook
- suredonation_register_additional_blocks Filter Hook
- suredonation_receipt_html Filter Hook
- suredonation_phone_geo_enabled Filter Hook
- suredonation_phone_geo_api_hourly_cap Filter Hook
- suredonation_paypal_webhook_handle_event Filter Hook
- suredonation_paypal_sdk_args Filter Hook
- suredonation_output_campaign_meta_tags Filter Hook
- suredonation_new_donor_user_data Filter Hook
- suredonation_integration_payload Filter Hook
- suredonation_import_phase_mappers Filter Hook
- suredonation_import_givewp_phases Filter Hook
- suredonation_import_givewp_phase_mappers Filter Hook
- suredonation_import_donation_row Filter Hook
- suredonation_import_campaigns_limit Filter Hook
- suredonation_field_block_config Filter Hook
- suredonation_export_one_time_only Filter Hook
- suredonation_export_campaigns_limit Filter Hook
- suredonation_email_smart_tags Filter Hook
- suredonation_email_smart_tag_groups Filter Hook
- suredonation_email_field_char_limits Filter Hook
- suredonation_disable_default_styles Filter Hook
- suredonation_default_validation_messages Filter Hook
- suredonation_default_email_notifications Filter Hook
- suredonation_create_donation_data Filter Hook
- suredonation_config_abilities Filter Hook
- suredonation_available_payment_methods Filter Hook
- suredonation_allowed_form_html Filter Hook
- suredonation_allowed_form_blocks Filter Hook
- Validatable Blocks Filter Hook
- Update donation data, Filter Hook
- OttoKit Integration: suredonation_suretriggers_integration_data_filter Filter Hook
- suredonation_show_setup_gateway_notice Filter Hook
- suredonation_show_review_notice_gateway Filter Hook
- suredonation_show_review_notice_donation Filter Hook
- suredonation_registered_payment_methods Filter Hook
- suredonation_register_additional_blocks Filter Hook
- suredonation_receipt_html Filter Hook
- suredonation_phone_geo_enabled Filter Hook
- suredonation_phone_geo_api_hourly_cap Filter Hook
- suredonation_paypal_webhook_handle_event Filter Hook
- suredonation_paypal_sdk_args Filter Hook
- suredonation_output_campaign_meta_tags Filter Hook
- suredonation_new_donor_user_data Filter Hook
- suredonation_integration_payload Filter Hook
- suredonation_import_phase_mappers Filter Hook
- suredonation_import_givewp_phases Filter Hook
- suredonation_import_givewp_phase_mappers Filter Hook
- suredonation_import_donation_row Filter Hook
- suredonation_import_campaigns_limit Filter Hook
- suredonation_field_block_config Filter Hook
- suredonation_export_secret_option_keys Filter Hook
- suredonation_export_one_time_only Filter Hook
- suredonation_export_campaigns_limit Filter Hook
- suredonation_email_smart_tags Filter Hook
- suredonation_email_smart_tag_groups Filter Hook
- suredonation_email_field_char_limits Filter Hook
- suredonation_disable_default_styles Filter Hook
- suredonation_default_validation_messages Filter Hook
- suredonation_default_email_notifications Filter Hook
- suredonation_create_donation_data Filter Hook
- suredonation_config_abilities Filter Hook
- suredonation_available_payment_methods Filter Hook
- suredonation_allowed_form_html Filter Hook
- suredonation_allowed_form_blocks Filter Hook
- suredonation_import_batch_complete Action Hook
- suredonation_import_complete Action Hook
- suredonation_import_donation_inserted Action Hook
- suredonation_import_donor_inserted Action Hook
- suredonation_import_session_created Action Hook
- suredonation_import_givewp_batch_complete Action Hook
- suredonation_import_givewp_session_created Action Hook
- suredonation_privacy_data_exported Action Hook
- suredonation_enqueue_form_frontend_scripts Action Hook
- suredonation_after_form_duplicated Action Hook
- suredonation_email_sent Action Hook
- suredonation_donor_user_created Action Hook
- suredonation_donation_refunded Action Hook
- suredonation_donation_status_changed Action Hook
- suredonation_donation_completed Action Hook
- suredonation_new_donation Action Hook
- suredonation_donation_created Action Hook
suredonation_register_additional_blocks Filter Hook
Overview
The suredonation_register_additional_blocks filter allows developers to register additional SureDonation blocks from their own plugins or extensions.
You can use this filter to provide custom block source directories and the PHP namespace used by the block classes. SureDonation then discovers the block files from the provided directories and registers them alongside its core blocks.
This is useful when building custom SureDonation extensions that need to add their own blocks to the block-registration process.
When to Use This Filter
Use this filter when you need to:
- Register custom SureDonation blocks.
- Add blocks from another plugin or extension.
- Register multiple groups of custom blocks.
- Keep custom block classes in a separate namespace.
- Extend the SureDonation block editor without modifying core plugin files.
Filter Signature
apply_filters(
    'suredonation_register_additional_blocks',
    []
);Parameters
| Parameter | Type | Description |
| $additional_blocks | array | List of block group descriptors that define the source directory and namespace for additional blocks. |
Each block group descriptor should contain the following keys:
| Key | Type | Description |
| dir | string | Glob path pointing to the PHP files containing the custom blocks. |
| namespace | string | PHP namespace used by the block classes. |
For example:
[
    'dir'    => MY_PLUGIN_DIR . 'blocks/**/*.php',
    'namespace' => 'MyPlugin\\Blocks',
]Entries that do not contain both dir and namespace are skipped.
Return Value
Return an array containing one or more block group descriptors.
The filtered value is merged into the block registration process only when it is a non-empty array.
Basic Usage
Use add_filter() to register your callback.
add_filter(
    'suredonation_register_additional_blocks',
    'your_custom_function',
    10,
    1
);
function your_custom_function( $additional_blocks ) {
    // Add block group descriptors here.
    return $additional_blocks;
}Example: Register Custom Blocks
The following example registers custom blocks located in the inc/blocks directory of a plugin.
add_filter(
    'suredonation_register_additional_blocks',
    'mysite_register_blocks',
    10,
    1
);
function mysite_register_blocks( $additional_blocks ) {
    $additional_blocks[] = [
        'dir'    => MY_PLUGIN_DIR . 'inc/blocks/**/*.php',
        'namespace' => 'MyPlugin\\Inc\\Blocks',
    ];
    return $additional_blocks;
}How the Example Works
- The filter receives the existing list of additional block groups.
- A new block group descriptor is added.
- The dir value points to the PHP files containing the custom blocks.
- The namespace value identifies the namespace used by the block classes.
- The modified array is returned.
- SureDonation discovers and registers the block files.
Example: Register Multiple Block Groups
You can register multiple directories containing different groups of blocks.
add_filter( 'suredonation_register_additional_blocks', 'mysite_register_multiple_blocks', 10, 1);
function mysite_register_multiple_blocks( $additional_blocks ) {
    $additional_blocks[] = [
        'dir'    => MY_PLUGIN_DIR . 'blocks/donation/**/*.php',
        'namespace' => 'MyPlugin\\Blocks\\Donation',
    ];
    $additional_blocks[] = [
        'dir'    => MY_PLUGIN_DIR . 'blocks/custom/**/*.php',
        'namespace' => 'MyPlugin\\Blocks\\Custom',
    ];
    return $additional_blocks;
}Block Registration Flow
The filter is part of the SureDonation block registration process:
- SureDonation starts the block registration process.
- The suredonation_register_additional_blocks filter is applied.
- Custom block group descriptors are added to the registration list.
- SureDonation validates the required dir and namespace values.
- The configured directories are globbed to find PHP block files.
- The discovered block classes are registered alongside the core SureDonation blocks.
Related Hooks
- suredonation_allowed_form_blocks: Controls the blocks that are allowed for SureDonation forms.
We don't respond to the article feedback, we use it to improve our support content.