Skip to main content

Developer

UnBlock provides PHP hooks (actions and filters) to extend and customize the plugin.

Hooks Summary

Actions

HookDescription
unblock/loadedPlugin loaded, before services registered
unblock/initPlugin fully initialized
unblock/form/processedForm submission passed validation, before email
unblock/form/spam_detectedForm submission detected as spam

Filters

HookDescription
unblock/data/providersRegister custom data providers
unblock/data/filtersRegister custom expression filters
unblock/data/functionsRegister custom expression functions
unblock/data/post_metaFilter post meta values
unblock/data/user_metaFilter user meta values
unblock/data/term_metaFilter term meta values
unblock/data/allowed_optionsWhitelist accessible WordPress options
unblock/data/allowed_meta_keysWhitelist protected meta keys
unblock/data/option_metaFilter option meta values
unblock/data/allowed_functionsWhitelist callable expression functions
unblock/query/post_argsPost query arguments
unblock/query/term_argsTerm query arguments
unblock/query/user_argsUser query arguments
unblock/query/item_argsItem query arguments
unblock/assets/css_inline_sizeCSS inline size threshold
unblock/html/forbidden_elementsForbidden HTML elements
unblock/html/forbidden_attributesForbidden HTML attributes
unblock/html/allowed_iframe_sourcesAllowed iframe sources
unblock/html/allowed_form_actionsAllowed form actions
unblock/svg/sanitizerSVG sanitizer instance
unblock/admin/localize_scriptAdmin JavaScript data
unblock/defaults/optionsDefault plugin options
unblock/filesystemFilesystem access control
unblock/form/actionForm action URL
unblock/form/fieldsForm field values
unblock/form/allowed_extensionsAllowed file extensions
unblock/form/emailEmail arguments before sending
AI filters (9)AI prompt and tool customization

Quick Start

Register a Custom Provider

add_filter( 'unblock/data/providers', function ( $providers ) {

$providers['shop'] = [
'name' => [
'label' => __( 'Shop Name', 'flavor' ),
'callback' => [ My_Shop_Provider::class, 'name' ],
],
];

return $providers;

} );

Whitelist a WordPress Option

add_filter( 'unblock/data/allowed_options', function ( $allowed ) {

$allowed[] = 'my_theme_settings';

return $allowed;

} );

Filter Meta Values

add_filter( 'unblock/data/post_meta', function ( $value, $meta_key, $post_id ) {

if ( $meta_key === 'price' ) {
return floatval( $value );
}

return $value;

}, 10, 3 );

Next Steps

  • Actions — Plugin lifecycle hooks
  • Filters — Data and behavior customization
    • Data — Providers, meta, options (10 filters)
    • Query — Loop query arguments (4 filters)
    • Assets — CSS inlining
    • Security — HTML/SVG sanitization
    • System — Plugin options, filesystem, admin scripts
    • Form — Form processing and validation
    • AI — AI prompt and tool customization