Skip to content
Learnomy
Get Learnomy Pro

Hooks Reference (Pro)

Pro feature

Every action and filter Learnomy Pro fires that Free does not, grouped by extension. Hooks Pro shares with Free are on the Hooks Reference.

173 hooks: 93 filters and 80 actions. This page is generated from the code by bin/gen-hooks-reference.php; do not edit it by hand.

Arguments are shown as the call passes them, after the hook name. For a filter the first argument is the value you return. "Fired in" is the first place the hook is called; a number in brackets means it is called from that many places.

Advanced Quizzes#

Hook Type Arguments What it is for Fired in
learnomy_pro_aq_conditions_runtime_ready filter false Filters whether conditional question rules are honoured at attempt time, which gates saving them over REST. includes/extensions/advanced-quizzes/class-extension.php:1296

Ai Authoring#

Hook Type Arguments What it is for Fired in
learnomy_pro_ai_generate_text filter null, $prompt, $action Short-circuit AI text generation. Return a non-null string to bypass. includes/extensions/ai-authoring/class-ai-author-service.php:91
learnomy_pro_ai_overage action $user_id, $kind, $used, $limit Fires when an instructor generates past an AI limit under 'notify'. includes/extensions/ai-authoring/class-ai-quota-gate.php:169
learnomy_pro_ai_request_timeout filter 60.0 Filter the HTTP timeout (seconds) for Learnomy AI generation requests. includes/extensions/ai-authoring/class-ai-author-service.php:62

Analytics#

Hook Type Arguments What it is for Fired in
learnomy_pro_analytics_ai_slot action $period Render seam for an AI summary of this report. includes/extensions/analytics/views/dashboard.php:102
learnomy_pro_analytics_recompute_cap filter self::RECOMPUTE_CAP Filters the cap on entities recomputed in one daily analytics run. includes/extensions/analytics/class-analytics-service.php:245
learnomy_pro_report_can_read filter $ids, $user_id Grant read access to courses the viewer does not teach. includes/extensions/analytics/class-report-query.php:175

Assignments#

Hook Type Arguments What it is for Fired in
learnomy_assignment_grading_response_controls action $sub, $grading Fires inside the assignment grading form so an extension can render extra grading controls, such as rubric scoring. includes/extensions/assignments/views/admin-assignments.php:312
learnomy_pro_assignment_created action $id, $insert Fires after an assignment definition is created. includes/extensions/assignments/class-assignment-service.php:236
learnomy_pro_assignment_deleted action $id Fires after an assignment and its submissions are deleted. includes/extensions/assignments/class-assignment-service.php:313
learnomy_pro_assignment_graded action $submission_id, $score, $submission Fires after a submission is graded. includes/extensions/assignments/class-assignment-service.php:412
learnomy_pro_assignment_resubmit_requested action $submission_id, $feedback Fires after an instructor asks a learner to resubmit. includes/extensions/assignments/class-assignment-service.php:438
learnomy_pro_assignment_submitted action $id, $assignment_id, $user_id Fires after a learner submits an assignment. includes/extensions/assignments/class-assignment-service.php:359
learnomy_pro_assignment_updated action $id, $prepared Fires after an assignment definition is updated. includes/extensions/assignments/class-assignment-service.php:286

Certificates Pro#

Hook Type Arguments What it is for Fired in
learnomy_pro_credly_revoke_async filter true Filters whether revoking a Credly badge is queued in the background. includes/extensions/certificates-pro/class-extension.php:476
learnomy_pro_credly_sync_async filter true Filters whether syncing Credly badges is queued in the background. includes/extensions/certificates-pro/class-extension.php:1045
learnomy_pro_open_badge_issuer filter $issuer Filter the public Open Badges issuer profile. includes/extensions/certificates-pro/class-open-badges.php:166

Cli#

Hook Type Arguments What it is for Fired in
learnomy_pro_cli_commands action Fires after Pro CLI commands are registered. Other add-ons can hook. includes/cli/class-cli.php:205
learnomy_pro_demo_modules filter $default Filters the demo-data modules the playground CLI can seed and wipe. includes/cli/class-playground.php:169

Cohorts#

Hook Type Arguments What it is for Fired in
learnomy_admin_cohort_detail_panels action $cohort Fires below the cohort tab panels on the cohort admin screen. includes/extensions/cohorts/class-extension.php:1205
learnomy_cohorts_slug filter 'cohorts' Filters the URL slug for the public cohort pages. includes/extensions/cohorts/class-extension.php:1662
learnomy_pro_cohort_at_risk_cadence_days filter self::AT_RISK_CADENCE_DAYS, $cohort Filters how often, in days, at-risk nudges repeat for a cohort. includes/extensions/cohorts/class-cohort-notifier.php:192
learnomy_pro_cohort_at_risk_grace filter self::AT_RISK_PROGRESS_GRACE, $cohort How far a cohort member's progress may trail the cohort's pace before they count as at risk. includes/extensions/cohorts/class-cohort-service.php:96
learnomy_pro_cohort_at_risk_inactive_days filter self::AT_RISK_INACTIVE_DAYS, $cohort Filters the days of inactivity after which a cohort member counts as at risk. includes/extensions/cohorts/class-cohort-service.php:103
learnomy_pro_cohort_authoritative_sources filter array( 'purchase', 'manual', 'webhook', 'membership', 'space' ), $course_id, $user_id Filters the enrollment sources that are let through when a course requires a cohort. includes/extensions/cohorts/class-extension.php:1409
learnomy_pro_cohort_autoplace_on_purchase filter true, $course_id, $user_id, $source Filters whether a user enrolling from an authoritative source is auto-placed into the course's sole open cohort. includes/extensions/cohorts/class-extension.php:1425
learnomy_pro_cohort_created action $id, $row Fires after a cohort definition is created. includes/extensions/cohorts/class-cohort-service.php:342
learnomy_pro_cohort_deleted action $id Fires after a cohort is deleted. includes/extensions/cohorts/class-cohort-service.php:492
learnomy_pro_cohort_email_body filter $message, $type, $cohort Filters the body message of a cohort lifecycle notification. includes/extensions/cohorts/class-cohort-notifier.php:270 (2)
learnomy_pro_cohort_email_enabled filter true, $type, $cohort Filters whether cohort emails of a given type may be sent. includes/extensions/cohorts/class-cohort-notifier.php:349
learnomy_pro_cohort_email_subject filter $title, $type, $cohort Filters the subject of a cohort lifecycle notification. includes/extensions/cohorts/class-cohort-notifier.php:262 (2)
learnomy_pro_cohort_member_actions action $cohort, $course Fires inside the enrolled-member card's action row on a. includes/extensions/cohorts/views/single-cohort.php:401
learnomy_pro_cohort_member_added action $cohort_id, $user_id Fires after a member is added to a cohort. includes/extensions/cohorts/class-cohort-service.php:590
learnomy_pro_cohort_member_removed action $cohort_id, $user_id Fires after a member is removed from a cohort. includes/extensions/cohorts/class-cohort-service.php:606
learnomy_pro_cohort_progress_max_rows filter self::PROGRESS_MAX_ROWS, $cohort_id Filters the maximum number of members enriched with progress in a cohort progress view. includes/extensions/cohorts/class-cohort-service.php:793
learnomy_pro_cohort_reminder_lead_days filter self::LEAD_DAYS, $cohort Filters the lead time, in days, for cohort reminder emails. includes/extensions/cohorts/class-cohort-notifier.php:90
learnomy_pro_cohort_updated action $id, $update Fires after a cohort is updated. includes/extensions/cohorts/class-cohort-service.php:444

Content Drip#

Hook Type Arguments What it is for Fired in
learnomy_pro_default_drip_rule filter null, $lesson_id, $course_id Allow other code to set a default drip rule when a lesson is created. includes/extensions/content-drip/class-extension.php:915

Core#

Hook Type Arguments What it is for Fired in
learnomy_pro_completing_statuses filter array( 'completed', 'passed' ) Filters the content-standard statuses that count as completed for Free progress. includes/class-content-standards-bridge.php:40
learnomy_pro_content_standard_completed action $user_id, $lesson_id, $status, $context Fires after a content-standard module (SCORM/xAPI/…) completes a Free. includes/class-content-standards-bridge.php:88
learnomy_pro_delete_data_on_uninstall filter $delete_on_uninstall Allow integrations (e.g. a CLI force-delete or a reset command) to override. uninstall.php:42
learnomy_pro_edd_item_id filter 1662700 Filters the EDD product ID for Learnomy Pro, so staging or dev can override it. learnomy-pro.php:131

Elementor#

Hook Type Arguments What it is for Fired in
learnomy_pro_elementor_enrol_safety_net filter true, $course, $lrn_el_cta Whether to append the enrol bar to an Elementor template that offers no. includes/extensions/elementor/templates/single-course-elementor.php:139

Frontend Builder#

Hook Type Arguments What it is for Fired in
learnomy_builder_create_slug filter 'create-course' Filters the URL segment for the create-course page under the instructor base. includes/extensions/frontend-builder/class-extension.php:211
learnomy_builder_edit_slug filter 'edit-course' Filters the URL segment for the edit-course page under the instructor base. includes/extensions/frontend-builder/class-extension.php:224
learnomy_instructor_slug filter 'instructor' Filters the instructor base URL segment, shared with Free. includes/extensions/frontend-builder/class-extension.php:198
learnomy_pro_builder_lesson_content_panel action Render seam for a Pro-registered content-type's panel inside the. includes/extensions/frontend-builder/templates/partials/lesson-editor.php:202
learnomy_pro_course_builder_credly_slot action (int) $course_edit_id Slot for Pro extensions to add a course-settings control next. includes/extensions/frontend-builder/templates/course-editor.php:1493
learnomy_pro_course_builder_settings_slot action (int) $course_edit_id Course-settings slot for any integration, in the frontend builder. includes/extensions/frontend-builder/templates/course-editor.php:1514
learnomy_pro_lesson_revision_restored action $lesson_id, $revision_id, $user_id Fires after a lesson is restored to an earlier revision. includes/extensions/frontend-builder/rest/class-revisions-controller.php:277
learnomy_pro_quiz_advanced_settings action isset( $lrn_advanced_quiz_id ) ? (int) $lrn_advanced_quiz_id : 0 Pro extension hook - advanced-quizzes injects its Pool /. includes/extensions/frontend-builder/templates/partials/quiz-editor.php:807 (2)

Gradebook#

Hook Type Arguments What it is for Fired in
learnomy_gradebook_cap filter 'manage_options' Filters the capability required to use the Gradebook admin. includes/extensions/gradebook/class-gradebook-admin.php:51

Learning Paths#

Hook Type Arguments What it is for Fired in
learnomy_pro_learning_path_completed action $certificate_id, $user_id, $path_id Fires when a learning path certificate is issued. includes/extensions/learning-paths/class-extension.php:1176
learnomy_pro_learning_path_enrolled action $enrollment_id, $user_id, $path_id, $source Fires when a student enrolls in a learning path. includes/extensions/learning-paths/class-path-service.php:342
learnomy_pro_learning_path_purchased action $txn_id, $user_id, $path_id, (float) ( $path->price ?? 0 ), $gateway, $enrollment_id Fires after a paid learning-path enrollment lands. Downstream:. includes/extensions/learning-paths/class-extension.php:1012
learnomy_pro_path_draft_retention_days filter 30 Days a never-touched draft path is kept before it is swept. includes/extensions/learning-paths/class-extension.php:1049
learnomy_pro_paths_per_page filter 12 Paths shown per catalogue page. includes/extensions/learning-paths/class-paths-catalog-view-data.php:80

Lti#

Hook Type Arguments What it is for Fired in
learnomy_lti_link_by_email filter true, $claims, $platform Filters whether an LTI launch may link to an existing account by matching email. includes/extensions/lti/class-launch.php:230
learnomy_lti_new_user_role filter 'subscriber', $claims, $platform Filters the role given to a user created by an LTI launch. includes/extensions/lti/class-launch.php:271
learnomy_pro_lti_force_keygen_failure filter false Filters whether LTI key generation should be treated as failed. includes/extensions/lti/class-jwks.php:58
learnomy_pro_lti_link_refused action (int) $by_email->ID, (string) $platform->issuer, $email_unverified ? 'email_unverified'... Fires when an LTI launch matches an existing account by email but refuses to link to it. includes/extensions/lti/class-launch.php:258

Membership Pro#

Hook Type Arguments What it is for Fired in
learnomy_pro_allow_pause filter true, $sub Filters whether a subscription may be paused. includes/extensions/membership-pro/class-pause-service.php:231
learnomy_pro_gift_issued action $codes, $plan_id, $buyer_id Fires after gift codes are generated for a plan. includes/extensions/membership-pro/class-gift-service.php:114
learnomy_pro_gift_redeemed action $code, $user_id, $sub_id Fires after a gift code is redeemed. includes/extensions/membership-pro/class-gift-service.php:269
learnomy_pro_membership_space_access filter $access, $user_id, $space_ids Let B.8 (Spaces integration) decide whether the user actually. includes/extensions/membership-pro/class-extension.php:691
learnomy_pro_plan_change_failed action (int) $change->subscription_id, (int) $change->to_plan_id, $change_id, 'subscription_mi... Fires when a scheduled plan change fails to apply. includes/extensions/membership-pro/class-plan-change-service.php:440 (3)
learnomy_pro_plan_change_queued action (int) $sub->id, (int) $sub->plan_id, (int) $new_plan->id, (int) $change_id, $effective_... Fires once a plan change has been queued for execution at the. includes/extensions/membership-pro/class-plan-change-service.php:385
learnomy_pro_plan_changed action $sub_id, (int) $sub->plan_id, $new_plan_id, $change_id, $quote Fires after an immediate plan change completes. includes/extensions/membership-pro/class-plan-change-service.php:272 (2)
learnomy_pro_plan_changed_at_provider action (int) $sub->id, (int) $sub->plan_id, (int) $new_plan->id, $provider_ref, $change_id Fires after a scheduled plan change has been applied at the. includes/extensions/membership-pro/class-plan-change-service.php:566
learnomy_pro_proration_provider filter $provider, $sub Filters the proration provider used to price and apply a plan change. includes/extensions/membership-pro/class-proration-service.php:228
learnomy_pro_refund_issued action $refund_txn_id, $transaction_id, $refund_amount, $reason Fires after a refund is issued for a transaction. includes/extensions/membership-pro/class-refund-service.php:150
learnomy_pro_stripe_charge_refunded action $resource Fires when Stripe reports a refunded charge. includes/extensions/membership-pro/class-extension.php:794
learnomy_pro_stripe_invoice_succeeded action (int) $sub->id, $provider_sub_id Fires once Pro has acknowledged a Stripe invoice success. Sites. includes/extensions/membership-pro/class-extension.php:869

Qti#

Hook Type Arguments What it is for Fired in
learnomy_qti_import_cap filter 'learnomy_manage_own_courses' Filters the capability required to import QTI packages. includes/extensions/qti/class-extension.php:89 (2)
learnomy_qti_interaction_mappers filter $map, $this Filters the map from QTI interaction types to question builder callables. includes/extensions/qti/class-question-builder.php:185
learnomy_qti_max_package_mb filter 50 Filters the maximum QTI package size, in megabytes. includes/extensions/qti/class-package-importer.php:40

Scorm#

Hook Type Arguments What it is for Fired in
learnomy_scorm_cmi_saved action $user_id, $lesson_id, $state Fires after a learner's SCORM CMI state is saved. The Content-Standards. includes/extensions/scorm/rest/class-controller.php:300
learnomy_scorm_max_package_mb filter 100 Filters the maximum SCORM package size, in megabytes. includes/extensions/scorm/class-package-importer.php:78 (2)
learnomy_scorm_report_cap filter 'manage_options' Filters the capability required to view the SCORM tracking report. includes/extensions/scorm/class-extension.php:221

Spaces#

Hook Type Arguments What it is for Fired in
learnomy_admin_space_detail_panels action $space, $lrn_active_tab Fires at the end of the admin space detail screen so an extension can render extra panels. includes/extensions/spaces/views/admin-space-detail.php:523
learnomy_admin_space_detail_tabs filter $lrn_tabs, $space Filter the Learnomy Space-detail tabs. Integrations (e.g. a BuddyNext. includes/extensions/spaces/views/admin-space-detail.php:106
learnomy_pro_list_spaces filter Space::list_spaces( $filters, $per_page, $offset ), $filters Filter the list of spaces returned by a query. Extensions can. includes/extensions/spaces/class-space-service.php:409
learnomy_pro_manage_space_view_data filter $resolved, $space Filter the full view-data map handed to manage-space.php. includes/extensions/spaces/view-data/class-manage-space-view-data.php:322
learnomy_pro_my_spaces_view_data filter $resolved, $user_id Filter the full view-data handed to my-spaces.php. Extensions. includes/extensions/spaces/view-data/class-my-spaces-view-data.php:67
learnomy_pro_signup_picker_enabled filter true Site-wide off switch for the sign-up picker. includes/extensions/spaces/class-signup-picker.php:112
learnomy_pro_signup_picker_spaces filter $out Filter the spaces offered on the sign-up form. includes/extensions/spaces/class-signup-picker.php:158
learnomy_pro_space filter Space::find( $id ), $id Filter a single space row resolved by id. Extensions can attach. includes/extensions/spaces/class-space-service.php:378
learnomy_pro_space_before_member_purge action $id, $lrn_granted_courses Fires while the roster and course assignments are both still. includes/extensions/spaces/class-space-service.php:349
learnomy_pro_space_by_slug filter Space::find_by_slug( $slug ), $slug Filter a single space row resolved by slug. Mirrors. includes/extensions/spaces/class-space-service.php:389
learnomy_pro_space_can_add_member filter true, $space_id, $user_id, $role Veto a member-add before the DB write. Default true; return false. includes/extensions/spaces/class-space-service.php:614
learnomy_pro_space_can_assign_course filter true, $space_id, $course_id Veto a course assignment before the DB write. Return false to. includes/extensions/spaces/class-space-service.php:439
learnomy_pro_space_can_manage filter $is_admin || $is_owner, $space, $user_id Filter the can-manage decision for /spaces/{slug}/manage/. includes/extensions/spaces/view-data/class-manage-space-view-data.php:59 (5)
learnomy_pro_space_can_remove_member filter true, $space_id, $user_id Veto a member removal. Default true. Owner-self-removal block. includes/extensions/spaces/class-space-service.php:672
learnomy_pro_space_can_suspend_member filter true, $space_id, $user_id Veto a suspension. Default true. includes/extensions/spaces/class-space-service.php:719
learnomy_pro_space_course_assigned action $space_id, $course_id Fires after a course is assigned to a space. includes/extensions/spaces/class-space-service.php:450
learnomy_pro_space_course_removed action $space_id, $course_id Fires after a course is removed from a space. includes/extensions/spaces/class-space-service.php:464
learnomy_pro_space_course_scope_changed action $space_id, $course_id, $scope, $previous A space course's access scope changed. Spaces uses this to enroll. includes/extensions/spaces/class-space-service.php:504
learnomy_pro_space_courses filter $courses, $space_id Filter the courses assigned to a space. Extensions can reorder,. includes/extensions/spaces/class-space-service.php:584
learnomy_pro_space_create_data filter $row, $data Filter the row about to be inserted. Extensions can stamp extra. includes/extensions/spaces/class-space-service.php:92
learnomy_pro_space_created action $id, $data Fires after a space is created. includes/extensions/spaces/class-space-service.php:103
learnomy_pro_space_deleted action $id Fires after a space is deleted. includes/extensions/spaces/class-space-service.php:363
learnomy_pro_space_enroll_fanout_batch filter self::ENROLL_FANOUT_BATCH, $space_id, $course_id Filter the per-page size of the space auto-enroll fan-out. Lower it. includes/extensions/spaces/class-extension.php:3212 (5)
learnomy_pro_space_expiry_batch filter 100 Rows processed per page of the space-subscription expiry sweep. includes/extensions/spaces/class-extension.php:4939
learnomy_pro_space_expiry_grace_days filter 7 Days past the paid period before an unpaid space is deactivated. includes/extensions/spaces/models/class-space-subscription.php:163
learnomy_pro_space_expiry_max_iterations filter 50 Hard ceiling on how many pages a single sweep tick may run. includes/extensions/spaces/class-extension.php:4958
learnomy_pro_space_front_header_end action $space, $is_member Fires at the end of the space header ROW (a flex container). Integrations. includes/extensions/spaces/views/single-space.php:428
learnomy_pro_space_group_course_assigned action $group_id, $course_id, (int) $group->space_id Fires after a course is assigned to a space group. includes/extensions/spaces/class-space-group-service.php:371
learnomy_pro_space_group_course_removed action $group_id, $course_id, (int) $group->space_id Fires after a course is removed from a space group. includes/extensions/spaces/class-space-group-service.php:397
learnomy_pro_space_group_created action $id, $space_id Fires after a Space group is created. includes/extensions/spaces/class-space-group-service.php:63
learnomy_pro_space_group_deleted action $group_id, $space_id Fires after a space group is deleted. includes/extensions/spaces/class-space-group-service.php:144
learnomy_pro_space_group_manager_assigned action $group_id, $user_id, (int) $group->space_id Fires after a manager is assigned to a space group. includes/extensions/spaces/class-space-group-service.php:327
learnomy_pro_space_group_manager_removed action $group_id, $user_id, (int) $group->space_id Fires after a manager is removed from a space group. includes/extensions/spaces/class-space-group-service.php:344
learnomy_pro_space_group_member_added action $group_id, $user_id, (int) $group->space_id Fires after a member is added to a space group. includes/extensions/spaces/class-space-group-service.php:173
learnomy_pro_space_group_member_removed action $group_id, $user_id, (int) $group->space_id Fires after a member is removed from a space group. includes/extensions/spaces/class-space-group-service.php:201
learnomy_pro_space_group_updated action $group_id, (int) $group->space_id Fires after a space group is updated. includes/extensions/spaces/class-space-group-service.php:101
learnomy_pro_space_kpis filter self::compute_kpis( $space_id, $visible_member_ids ), $space, $members Filter the computed KPI summary (members / active_7d /. includes/extensions/spaces/view-data/class-manage-space-view-data.php:242
learnomy_pro_space_member_added action $space_id, $user_id, $role Fires after a member is added to a space. includes/extensions/spaces/class-space-service.php:656
learnomy_pro_space_member_columns filter $lrn_member_columns, (int) ( $space->id ?? 0 ) Filters the columns of the space owner's members table. includes/extensions/spaces/views/dashboard-widgets/space-owner-members.php:151
learnomy_pro_space_member_removed action $space_id, $user_id Fires after a member is removed from a space. includes/extensions/spaces/class-space-service.php:683
learnomy_pro_space_member_resumed action $space_id, $user_id Fires after a membership is restored. The Extension listens and. includes/extensions/spaces/class-space-service.php:773
learnomy_pro_space_member_role filter $role, $space_id, $user_id Filter the role string before write. Default 'student'; the. includes/extensions/spaces/class-space-service.php:627
learnomy_pro_space_member_role_changed action $space_id, $user_id, $role Fires after a space member's role changes (e.g. promoted to. includes/extensions/spaces/rest/class-controller.php:3248
learnomy_pro_space_member_suspended action $space_id, $user_id Fires after a membership is suspended. The Extension listens and. includes/extensions/spaces/class-space-service.php:742
learnomy_pro_space_members filter Space_Member::members_for_space( $space_id, $filters, $limit, $offset ), $space_id, $fi... Filter the members list returned for a space. Extensions can. includes/extensions/spaces/class-space-service.php:787
learnomy_pro_space_option filter (bool) self::setting( $space, $key, $default ), $key, $space Filter one resolved space option. includes/extensions/spaces/models/class-space.php:692
learnomy_pro_space_option_schema filter $schema Filter the per-space option schema. includes/extensions/spaces/models/class-space.php:606
learnomy_pro_space_owner_can_assign_course filter $allowed, $space_id, $course_id, $user_id Filter whether a non-admin space owner/manager may add this. includes/extensions/spaces/rest/class-controller.php:1889
learnomy_pro_space_plans_contact_email filter (string) get_option( 'admin_email' ) Filters the contact email used by the plans page contact-to-buy fallback when no gateway is configured. includes/extensions/spaces/view-data/class-plans-public-view-data.php:51
learnomy_pro_space_plans_contact_url filter '' Filters the contact page URL used by the plans page contact-to-buy fallback. includes/extensions/spaces/view-data/class-plans-public-view-data.php:60
learnomy_pro_space_provisioned action $space_id, $user_id, $plan, $txn_id Fires after a space is auto-provisioned from a Space_Plan. includes/extensions/spaces/class-extension.php:4429
learnomy_pro_space_request_created action (int) $id, $space_id, $user_id, $type, $args Fires after a space self-service request is created. The notifier. includes/extensions/spaces/class-space-service.php:1315
learnomy_pro_space_request_declined action $request_id, (int) $req->space_id, $req->type, (int) $req->requested_by, $req Fires after a request is declined. includes/extensions/spaces/class-space-service.php:1439
learnomy_pro_space_request_resolved action $request_id, (int) $req->space_id, $req->type, (int) $req->requested_by, $req Fires after a request is resolved. Notifier emails the requester. includes/extensions/spaces/class-space-service.php:1407
learnomy_pro_space_roster_export_page_size filter 500, $space_id Filter the roster-export page size. The whole roster still exports;. includes/extensions/spaces/rest/class-controller.php:2997
learnomy_pro_space_seat_pack_cta_limit filter 10 Filter how many active seat packs the upgrade CTA row offers. includes/extensions/spaces/models/class-space-seat-pack.php:53
learnomy_pro_space_seats_added action $space_id, $user_id, $seats_added, $new_limit, $pack, $txn_id Fires after a seat pack is added to a space. Notifier listens. includes/extensions/spaces/class-extension.php:4529
learnomy_pro_space_status_changed action $id, (string) $update['status'], $previous_status includes/extensions/spaces/class-space-service.php:272
learnomy_pro_space_status_fanout_batch filter self::ENROLL_FANOUT_BATCH, $space_id Filter the per-page size of the association freeze sweep. includes/extensions/spaces/class-extension.php:3664
learnomy_pro_space_subscription_cancelled action (int) $sub->space_id, (int) $sub->id, $stripe_sub Fires when a recurring space is cancelled. Notifier listens. includes/extensions/spaces/class-extension.php:4796
learnomy_pro_space_subscription_expired action (int) $sub->space_id, (int) $sub->id Fires when a space subscription truly ends. Notifier. includes/extensions/spaces/class-extension.php:4989
learnomy_pro_space_subscription_past_due action (int) $sub->space_id, (int) $sub->id, $invoice Fires when a recurring space payment fails. Notifier listens. includes/extensions/spaces/class-extension.php:4777
learnomy_pro_space_subscription_renewed action (int) $sub->space_id, (int) $sub->id, $invoice Fires after a space subscription renewal extends the period. includes/extensions/spaces/class-extension.php:4706
learnomy_pro_space_trial_batch filter 100 Rows converted per page of the trial sweep. includes/extensions/spaces/class-extension.php:4856
learnomy_pro_space_trial_ended action (int) $sub->space_id, $subscription_id Fires when a space trial converts to a paid subscription. includes/extensions/spaces/class-extension.php:4837
learnomy_pro_space_trial_max_iterations filter 50 Hard ceiling on pages per trial sweep tick. Runaway guard only. includes/extensions/spaces/class-extension.php:4868
learnomy_pro_space_update_data filter $update, $id, $data Filter the partial-update payload right before the DB write. includes/extensions/spaces/class-space-service.php:231
learnomy_pro_space_updated action $id, $update Fires after a space is updated. includes/extensions/spaces/class-space-service.php:255
learnomy_pro_space_writable_settings filter $is_admin ? array_merge( $owner_settable, $admin_settable ) : $owner_settable, $is_admi... Boolean space settings writable through this route. includes/extensions/spaces/rest/class-controller.php:1652
learnomy_pro_spaces_email_body filter $message, $kind, $space, $email Same as subject, for the body. includes/extensions/spaces/class-notifier.php:1407
learnomy_pro_spaces_email_subject filter $subject, $kind, $space, $email Filter the email subject for this specific Spaces notification. includes/extensions/spaces/class-notifier.php:1405
learnomy_pro_spaces_fanout_batch_size filter 100 Filters how many recipients each Spaces notification fan-out batch handles. includes/extensions/spaces/class-notifier.php:1451
learnomy_pro_spaces_index_redirect filter $target Filter the destination of the bare /learning-spaces/ index redirect. includes/extensions/spaces/class-extension.php:2364
learnomy_spaces_label filter \Learnomy\entity_label( 'space', 'plural' ) Filters the plural display label for Learning Spaces. includes/extensions/spaces/class-extension.php:2083
learnomy_spaces_my_label filter /* translators: %s: the site's name for Learnomy Spaces, e.g. "Learning Spaces". */ spr... Filters the member-facing "My ..." label for Learning Spaces. includes/extensions/spaces/class-extension.php:2097
learnomy_spaces_slug filter 'learning-spaces' Filters the URL slug for the public Learning Spaces pages. includes/extensions/spaces/class-extension.php:2044

Stripe Connect#

Hook Type Arguments What it is for Fired in
learnomy_payout_reversal_failed action (int) $paid_payout->id, $reversal->get_error_message(), $debt_id Fires when reversing a paid payout after a refund fails. includes/extensions/stripe-connect/class-refund-handler.php:166
learnomy_payout_reversed action (int) $paid_payout->id, $instructor_id, $owed Fires after a paid payout is reversed in response to a refund. includes/extensions/stripe-connect/class-refund-handler.php:207
learnomy_pro_payouts_async filter true Filters whether instructor payouts are settled in the background. includes/extensions/stripe-connect/class-connect-service.php:579
learnomy_pro_stripe_transfer_event action $type, $transfer->id, $update Fires after a Stripe transfer webhook event has updated the payout record. includes/extensions/stripe-connect/class-extension.php:400
learnomy_stripe_account_connected action $instructor_id, $body['stripe_user_id'] Fires after an instructor connects a Stripe account. includes/extensions/stripe-connect/class-connect-service.php:299
learnomy_stripe_connect_return_url filter $url, $user_id, $outcome Filters where an instructor lands after Stripe Connect onboarding. includes/extensions/stripe-connect/class-extension.php:798
learnomy_stripe_transfer_created action $instructor_id, $transfer_id, $amount, $currency Fires after a Stripe transfer to an instructor is created and recorded. includes/extensions/stripe-connect/class-connect-service.php:510
learnomy_withdrawal_failed action $withdrawal_id, $transfer->get_error_message() Fires when the Stripe transfer for a withdrawal fails. includes/extensions/stripe-connect/class-extension.php:537
learnomy_withdrawal_paid action $withdrawal_id, $transfer['stripe_transfer_id'] Fires after the Stripe transfer for a withdrawal succeeds. includes/extensions/stripe-connect/class-extension.php:547

User Journey#

Hook Type Arguments What it is for Fired in
learnomy_pro_milestone_earned action $user_id, $milestone_id, $source Fires when a learner earns a milestone. Consumers: notifications,. includes/extensions/user-journey/class-award-service.php:80
learnomy_pro_milestone_revoked action $user_id, $milestone_id Fires when a milestone grant is removed by an admin. includes/extensions/user-journey/class-award-service.php:99
learnomy_pro_milestone_rule_types filter null, $rule, $user_id Let extensions evaluate custom rule types. Return true/false to. includes/extensions/user-journey/class-award-service.php:176

Webhooks Pro#

Hook Type Arguments What it is for Fired in
learnomy_pro_webhook_deliveries_per_run filter self::PER_RUN Filters how many webhook deliveries may be sent per run before the rest are deferred. includes/extensions/webhooks-pro/class-dispatcher.php:173
learnomy_pro_webhook_delivery_retention_days filter 30 Days of webhook delivery-log history to keep. Older rows are purged. includes/extensions/webhooks-pro/class-dispatcher.php:391
learnomy_pro_webhooks_event_slugs filter $defaults Filter the action → slug map used to fan webhook events out. includes/extensions/webhooks-pro/class-extension.php:541

Wp Fusion#

Hook Type Arguments What it is for Fired in
learnomy_pro_wpf_gate_copy filter $copy Filter the WP Fusion required-tag gate copy. includes/extensions/wp-fusion/class-tag-service.php:402

Xapi#

Hook Type Arguments What it is for Fired in
learnomy_xapi_iri_base filter home_url() Filters the base IRI used for this site's xAPI activity identifiers. includes/extensions/xapi/class-statement-builder.php:88
learnomy_xapi_statement filter $statement, $event, $ctx Filter a single xAPI statement just before it is queued for delivery. includes/extensions/xapi/class-dispatcher.php:205