Developer
UnBlock provides PHP hooks (actions and filters) to extend and customize the plugin.
Hooks Summary
Actions
| Hook | Description |
|---|---|
unblock/loaded | Plugin loaded, before services registered |
unblock/init | Plugin fully initialized |
unblock/form/processed | Form submission passed validation, before email |
unblock/form/spam_detected | Form submission detected as spam |
Filters
| Hook | Description |
|---|---|
unblock/data/providers | Register custom data providers |
unblock/data/filters | Register custom expression filters |
unblock/data/functions | Register custom expression functions |
unblock/data/post_meta | Filter post meta values |
unblock/data/user_meta | Filter user meta values |
unblock/data/term_meta | Filter term meta values |
unblock/data/allowed_options | Whitelist accessible WordPress options |
unblock/data/allowed_meta_keys | Whitelist protected meta keys |
unblock/data/option_meta | Filter option meta values |
unblock/data/allowed_functions | Whitelist callable expression functions |
unblock/query/post_args | Post query arguments |
unblock/query/term_args | Term query arguments |
unblock/query/user_args | User query arguments |
unblock/query/item_args | Item query arguments |
unblock/assets/css_inline_size | CSS inline size threshold |
unblock/html/forbidden_elements | Forbidden HTML elements |
unblock/html/forbidden_attributes | Forbidden HTML attributes |
unblock/html/allowed_iframe_sources | Allowed iframe sources |
unblock/html/allowed_form_actions | Allowed form actions |
unblock/svg/sanitizer | SVG sanitizer instance |
unblock/admin/localize_script | Admin JavaScript data |
unblock/defaults/options | Default plugin options |
unblock/filesystem | Filesystem access control |
unblock/form/action | Form action URL |
unblock/form/fields | Form field values |
unblock/form/allowed_extensions | Allowed file extensions |
unblock/form/email | Email 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 );