Skip to content

Hooks and extension points

Filters and actions found in current includes/ PHP. For use case registration, see use-cases-and-output-profiles.md.

ActionSourcePurpose
coverkit_initcoverkit.php (fire_coverkit_init on init priority 15)Register use case types (priority < 10); registry boots at priority 10
coverkit_generate_imageREST::__construct()Async fetch of queued generation URLs
coverkit_retry_screenshotsincludes/functions.phpRetries templates flagged _coverkit_needs_retry
coverkit_fs_loadedincludes/freemius.phpFires when Freemius SDK is loaded

Register custom use cases on coverkit_init:

add_action(
'coverkit_init',
static function (): void {
\CoverKit\coverkit_register_use_case( 'my_slug', array(
'label' => 'My use case',
'class' => \MyPlugin\My_Use_Case::class,
) );
},
5
);
FilterSourcePurpose
coverkit_pre_generateRenderer::generate()Return non-null to short-circuit generation
coverkit_after_generateRenderer::generate()Adjust generation result array
coverkit_generation_optionsGenerator (canvas process)Merge options before render
coverkit_max_canvas_dimensionGeneratorMax canvas edge (default 12000)
coverkit_responsive_sizesget_coverkit_responsive_sizes()Allowed responsive widths
coverkit_canvas_image_cache_timeREST::serve_canvas_image()Cache-Control max-age (default 31536000)
coverkit_autocompleter_optionsREST::get_autocompleters()Editor placeholder tags
FilterSourcePurpose
coverkit_collect_field_rawField_Resolver::collect_raw()Adjust raw field value after built-in resolution
coverkit_preview_dataField_Resolver::collect_preview_data()Placeholder data when no post context
coverkit_format_field_valueUse_Case::format_field_value()Global formatter pass
coverkit_use_case_{$slug}_format_field_valueUse_Case::format_field_value()Per use case (also registered when subclass implements filter_format_field_value())
coverkit_use_case_settings_schemaUse_Case::get_settings_schema()Settings fields for editor
coverkit_use_case_{$slug}_settings_schemasamePer-slug settings schema
coverkit_use_case_mapping_sourcesUse_Case::get_mapping_sources()Mapping picker catalog
coverkit_use_case_{$slug}_mapping_sourcessamePer-slug mapping sources
FilterSourcePurpose
coverkit_opengraph_meta_enabledOpen_Graph_Image_Use_CaseDisable meta output for a request context
coverkit_opengraph_request_post_idsamePost ID embedded in image URL
coverkit_opengraph_template_idsameTemplate ID used for OG image
FilterSourcePurpose
coverkit_screenshot_request_argsget_screenshot() in functions.phpmShots / screenshot HTTP args
  • Block category: Post_Type::block_categories()coverkit
  • Patterns: patterns/*.php via Patterns, category coverkit, postTypescoverkit
  • plugins_loaded — plugin init()
  • rest_api_init — REST routes
  • allowed_block_types_all — restrict template editor to coverkit/*
  • updated_post_meta / added_post_meta / deleted_post_meta — rebuild loader manifest when _coverkit_use_cases changes
  • wp_head — Open Graph tags from Open_Graph_Image_Use_Case