Notifal Pro extends the base plugin through a bridge layer: Pro-specific hook constants, and callbacks on base notifal/* filters (display rules, analytics, smart targeting, comment content source).
Requires Notifal Pro installed and active. Boot after both plugins are ready:
add_action( 'notifal_pro/initialized', function () {
// Pro modules are available.
} );
Index: Hook Reference Hub. Base boot order: Getting Started for Developers.
Pro bootstrap (action)
| Hook | Parameters | Description |
|---|---|---|
notifal_pro/initialized | none | Pro plugin fully initialized; all Pro services registered |
Constant: NotifalPro\Infrastructure\WordPress\Hooks\ActionHooks::PRO_PLUGIN_INIT.
Base plugin must fire notifal/initialized first; Pro listens on that hook in notifal-pro/app/Bootstrap/Plugin.php.
Pro infrastructure (FilterHooks.php)
| Constant | Hook | Parameters | Description |
|---|---|---|---|
INFRASTRUCTURE_SERVICES | notifal_pro/infrastructure/services | string[] $services | Pro global infrastructure service classes |
Pro actions (ActionHooks.php)
| Constant | Hook | Parameters | Description |
|---|---|---|---|
PRO_PLUGIN_INIT | notifal_pro/initialized | none | Pro ready (see above) |
REGISTER_COMMENT_TAGS | notifal_pro/comment_tags/register | $manager | Register Pro comment tags |
COMMENT_TAGS_REGISTERED | notifal_pro/comment_tags/registered | $manager | After comment tags registered |
PRO_FRONTEND_ASSETS_BEFORE_ENQUEUE | notifal_pro/frontend_assets/before_enqueue | none | Before Pro frontend assets |
PRO_FRONTEND_ASSETS_AFTER_ENQUEUE | notifal_pro/frontend_assets/after_enqueue | none | After Pro frontend assets |
BEFORE_UPDATE_DOWNLOAD | notifal_pro/update/before_source_selection | string $source, array $hook_extra | Before upgrader source selection |
AFTER_UPDATE_DOWNLOAD | notifal_pro/update/after_source_selection | string $source, array $hook_extra | After upgrader validates source |
Comment content source bridge (Pro module)
Registered by CommentIntegrationService when Pro comment features are available. Base plugin invokes these with empty defaults when Pro is inactive. See also Display Rules and Content Source.
| Filter | Parameters | Description | |
|---|---|---|---|
notifal_pro_build_comment_filters | array $filters, array $settings | Comment query filters | |
notifal_pro_fetch_comment_pool | array $pool, array $filters, array $settings | Comment pool rows | |
notifal_pro_get_comment_count | `int | null $count, array $settings, array $filters` | Comment counter tag value |
notifal_pro_build_comment_based_context | array $settings, array $pageContext | Tag context for comment source | |
notifal_pro_add_comment_context_to_post_based | array $context, ... | Comment context on post-based source | |
notifal_pro_add_comment_context_to_page_based | array $context, ... | Comment context on page-based source | |
notifal_pro_add_comment_context_to_mixed | array $context, ... | Comment context on mixed source | |
notifal_pro_add_comment_context_to_{entityType} | dynamic suffix | Entity-specific comment context | |
notifal_pro_get_hidden_comment_restrictions | array $detectedCategories | Restrictions hidden in tag category UI |
Base hooks Pro commonly implements
Pro modules attach to base notifal/* filters (constants in base FilterHooks.php):
| Base filter | Pro usage |
|---|---|
notifal/onpage/display_rules/supported_types | Adds category, URL, user rule types |
notifal/onpage/display_rules/before_validation | Strips or validates Pro rule data |
notifal/onpage/display_rules/evaluation_result | Advanced rule evaluation |
notifal/onpage/smart_targeting_ui_visible | Hide UI when template has only page tags |
notifal/onpage/content_source/sanitized_settings | Smart targeting settings sanitization |
notifal/onpage/content_source/entity_filters | Smart targeting entity filters |
notifal/onpage/content_source/resolve_pool | Multi-phase pool loading |
notifal/onpage/content_source/pool_cache_key | Page-context cache keys |
notifal/onpage/frontend/context | Smart targeting frontend context |
notifal/onpage/is_pro_analytics_active | Whether Pro analytics integration is active |
notifal/onpage/get_pro_analytics_service | Returns Pro analytics service when available |
notifal/onpage/analytics/ calculate_ | CTR, conversion, close rate calculations |
notifal/onpage/appearance/display_type_options | Adds Inline display type when Pro is active |
notifal/onpage/appearance/sanitized_settings | Inline placement mode, placement id, custom hook fields |
notifal/onpage/eligibility/global_eligible | Excludes inline notifications from global floating injection |
notifal/onpage/frontend/immediate_preload_notifications | Preloads inline payloads for mount containers |
notifal/admin/list/custom_column | Inline shortcode copy icon in Display Type column |
User guide: Inline On-Page Notifications (Pro). Developer notes: notifal-pro/app/Modules/OnPageNotification/INLINE.md.
Helper functions
| Function | Description |
|---|---|
notifal_pro_app( ClassName::class ) | Resolve Pro DI container service |
Defined in notifal-pro/app/Core/helpers.php.
Source file map
| Area | Path |
|---|---|
| Pro hook constants | notifal-pro/app/Infrastructure/WordPress/Hooks/ActionHooks.php, FilterHooks.php |
| Base hook constants | notifal/app/Infrastructure/WordPress/Hooks/ActionHooks.php, FilterHooks.php |
| Analytics bridge | notifal-pro/app/Modules/OnPageNotification/Infrastructure/WordPress/ProAnalyticsIntegration.php |
| Display rules | notifal-pro/app/Modules/OnPageNotification/Application/Services/ProDisplayRulesIntegrationService.php |
| Comment bridge | notifal-pro/app/Modules/OnPageNotification/Application/Services/CommentIntegrationService.php |
| Inline delivery | notifal-pro/app/Modules/OnPageNotification/Application/Services/Inline/ |
What to read next
Hooks series
- Hook Reference Hub
- Hooks: Lifecycle and Bootstrap
- Hooks: Notifications and Eligibility
- Hooks: Templates and Rendering
- Hooks: Tags and Dynamic Data
- Hooks: Display Rules and Content Source
- Hooks: Analytics and Tracking
- Hooks: Admin UI Extension
- Hooks: Pro Integration Bridge (you are here)