Hooks & Filters

Crucible Scan provides several action hooks and filters that allow developers to extend or customize behavior.

Actions

crucible_scan_before_init

Fired before the plugin completes its initialization. Use this to register additional integrations or modify settings before the plugin is fully loaded.

crucible_scan_after_init

Fired after the plugin has completed initialization. All hooks and handlers are registered at this point.

crucible_scan_before_scan

Fired before a scan begins. Receives the scan configuration as a parameter.

crucible_scan_after_scan

Fired after a scan completes. Receives the scan ID, pages scanned, and total issues found. Use this to trigger notifications or external integrations.

crucible_scan_admin_menu_registered

Fired after all admin menu items are registered. Pro uses this hook to add additional menu items.

Filters

crucible_scan_license_tier

Override the detected license tier. Default: 'free'. Pro sets this to 'single', 'multi5', or 'agency25'.

add_filter( 'crucible_scan_license_tier', function() {
    return 'single';
});

crucible_scan_feature_available

Gate feature availability. Receives $available (bool), $feature (string), and $tier (string).

crucible_scan_page_limit

Modify the maximum pages per scan. Default: 10 (free).

add_filter( 'crucible_scan_page_limit', function() {
    return 50;
});

crucible_scan_export_formats

Add or remove export formats. Returns an associative array of format identifiers. Pro uses this to add PDF, CSV, and VPAT formats.

crucible_scan_urls_to_scan

Modify the list of URLs before scanning begins. Receives an array of URLs.

crucible_scan_dynamic_filter_enabled

Override the dynamic content filter master toggle. Returns boolean.

crucible_scan_available_standards

Modify the list of available compliance standards. Default: array('wcag22aa').