-
Notifications
You must be signed in to change notification settings - Fork 0
Services and Integrations
Kuber Gupta edited this page Feb 20, 2026
·
1 revision
All services and integrations are components — they implement register() and are auto-loaded by the DI container. See inc/config/app.php (free) and presto-player-pro/inc/config/app.php (pro) for the full lists.
| Service | File | Description |
|---|---|---|
Scripts |
Services/Scripts.php |
Enqueues all JS/CSS assets conditionally (block editor, frontend, Elementor, admin) |
Settings |
Services/Settings.php |
Registers all wp_options settings with REST API exposure |
Menu |
Services/Menu.php |
Creates the Presto Player admin menu and submenu pages |
Player |
Services/Player.php |
Frontend player rendering and template loading |
Shortcodes |
Services/Shortcodes.php |
Registers [presto_player], [presto_playlist], [presto_popup], [pptime]
|
Migrations |
Services/Migrations.php |
Runs DB table creation and versioned upgrades on plugin activation |
Translation |
Services/Translation.php |
Loads plugin text domain |
Blocks |
Services/Blocks.php |
Block category registration |
VideoPostType |
Services/VideoPostType.php |
Registers the Video CPT used by Media Hub |
ReusableVideos |
Services/ReusableVideos.php |
CRUD for saved/reusable video configurations |
AdminNotices |
Services/AdminNotices.php |
Manages admin notice queue (singleton) |
ProCompatibility |
Services/ProCompatibility.php |
Backwards-compat shims between core and pro versions |
Compatibility |
Services/Compatibility.php |
Third-party plugin compatibility (caching plugins, etc.) |
AjaxActions |
Services/AjaxActions.php |
WordPress AJAX handlers for admin interactions |
NpsSurvey |
Services/NpsSurvey.php |
Periodic NPS survey prompt |
PreloadService |
Services/PreloadService.php |
Preloads player assets for performance |
Streamer |
Services/Streamer.php |
HLS/private video streaming handler |
RewriteRulesManager |
Services/RewriteRulesManager.php |
Custom URL rewrite rules for private video access |
AdminNotice |
Services/AdminNotice.php |
Single notice model (used by AdminNotices) |
| Service | Description |
|---|---|
Services\Blocks\YoutubeBlockService |
YouTube nocookie, channel ID, and extra player options injection |
Services\Blocks\VimeoBlockService |
Vimeo-specific player configuration |
Services\Blocks\PopupTriggerService |
Popup trigger JS vars and AJAX registration |
| Service | Description |
|---|---|
Pro\Services\Settings |
Registers all pro wp_options (Bunny, email providers) |
Pro\Services\Translation |
Loads pro text domain |
Pro\Services\Visits |
Hooks into player events to record watch data; daily cron cleanup |
Pro\Services\Bunny\BunnyService |
URL signing, JS vars injection, user video meta sync |
Pro\Services\EmailCollection\EmailCollection |
Registers email gate hooks |
Pro\Services\EmailExport |
CSV export of collected emails |
Pro\Services\GoogleAnalytics |
GA4 event tracking for video events |
Pro\Services\License\* |
License activation, validation, auto-update (excluded in VIP builds) |
Pro\Services\ActiveCampaign\ActiveCampaign |
Email provider integration |
Pro\Services\Mailchimp\Mailchimp |
Email provider integration |
Pro\Services\MailerLite\MailerLite |
Email provider integration |
Pro\Services\FluentCRM\FluentCRM |
Email provider integration (auto-connected if plugin active) |
Pro\Services\Webhooks\Webhooks |
Outbound webhook triggers on email collection |
Pro\Services\CoreInstaller |
Detects/prompts for core plugin installation if only pro is active |
| Integration | Trigger | Features |
|---|---|---|
Integrations\LearnDash |
sfwd-lms active |
Video progression enforcement, ld_video_provider filter, LearnDash settings fields |
Integrations\Tutor\Tutor |
tutor active |
Video progression for TutorLMS lessons |
Integrations\Lifter\Lifter |
lifterlms active |
Video completion for LifterLMS |
All LMS integrations hook into plugins_loaded and bail early if their parent plugin is not active.
| Integration | Description |
|---|---|
Integrations\Elementor\Elementor |
Registers Presto Player Elementor widgets |
Integrations\Divi\Divi |
Registers Presto Player Divi modules |
Integrations\BeaverBuilder\BeaverBuilder |
Registers Presto Player Beaver Builder modules |
Integrations\Kadence |
Kadence theme compatibility |
These are the main extension points exposed to developers:
| Filter | Description |
|---|---|
presto_player_pro_components |
Add components to the pro component list |
presto_player/block/default_attributes |
Modify block default attribute values |
presto_player/component/attributes |
Modify player component data at render time |
presto_player_rest_prepared_response_item |
Modify REST API response items |
presto_player_allowed_mime_types |
Extend allowed video MIME types |
presto_player_*_permissions |
Override REST endpoint permission callbacks |
presto_player_admin_block_script_options |
Inject JS variables into admin block editor |
presto-settings-js-options |
Inject JS variables into settings page |
presto_player/templates/player_tag |
Add HTML attributes to the player element |
| Action | Description |
|---|---|
presto_player_videos_created |
Fires after a new video record is created |
presto_player_videos_updated |
Fires after a video record is updated |
presto_player/pro/forms/save |
Fires when an email gate form is submitted |
presto_daily_cron |
Daily maintenance (visit data cleanup, etc.) |
presto_player_settings_header |
Before settings page header |
presto_player_settings_footer |
After settings page footer |
Presto Player | Presto Player Pro | prestoplayer.com | PHP 7.3+ | WordPress 6.3+