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/option_meta | Filter option meta values |
unblock/data/allowed_options | Whitelist accessible WordPress options |
unblock/data/allowed_meta_keys | Whitelist protected meta keys |
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/defaults/options | Default plugin options |
unblock/filesystem | Filesystem access control |
unblock/settings/can_read | Read permission for the settings REST endpoint |
unblock/settings/can_write | Write permission for the settings REST endpoint |
unblock/form/action | Form action URL |
unblock/form/client_ip | Client IP for rate limiting |
unblock/form/fields | Form field values |
unblock/form/allowed_extensions | Allowed file extensions |
unblock/form/send_email | Whether to send the default email notification |
unblock/form/email | Email arguments before sending |
unblock/ai/prompts | System prompt parts before assembly |
unblock/ai/agents | AI agents configuration |
unblock/ai/skills | AI skills configuration |
unblock/ai/timeout | AI request timeout |
unblock/ai/max_tokens | Maximum tokens for responses |
unblock/ai/model_preference | AI model override |
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 and form hooks
- Debug Logging — diagnose expression and query errors