Hooks
Actions and filters MemberSync provides for developers who want to customize its behaviour. Hook names use the prefixes membersync_, msync_, and the namespaced tangible/membersync/….
This is a starting reference compiled from the plugin source. Argument signatures and return shapes should be confirmed against the code for the version you're targeting.
Actions
| Action | Fires when |
|---|---|
membersync_user_created | MemberSync creates a WordPress user (e.g. via org invite or CSV import) |
membersync_register_form_start / membersync_register_before_register_button / membersync_register_form_end | Rendering the login/register form (org invites) |
wc_memberships_membersync_course_enrollment_access_schedule_field | Rendering the course-enrolment rule's access-schedule field |
wc_memberships_membersync_group_enrollment_access_schedule_field | Rendering the group-enrolment rule's access-schedule field |
Filters
Seats — tangible/membersync/seats/…: query, query/where, create/args, set_owner, assign_user, set_managers, set_start_date, set_end_date, set_access, current_user_can.
Organization dashboard — msync_dashboard_…: a large set of label and visibility filters for the front-end organization dashboard (panel and nav-button labels/visibility, role labels, "owner can rename organization", report stat labels, etc.).
Login / register — membersync_login_credentials, membersync_use_custom_redirect_after_registration, membersync_edit_redirect_after_login_register.
User provisioning — membersync_edit_new_user_username, membersync_new_user_username.
CSV import — msync_before_process_csv_extended_meta, msync_after_process_csv_extended_meta, msync_suppress_upload_csv, msync_suppress_csv_process_row, msync_upload_csv_extended_headers.
Licensing — membersync_licenses_check_course_access, rest/membersync/licensing/v1/current_user_can.
Teams — msync_teams_area_navigation_go_to_label.
Scheduled (background) actions
MemberSync runs work asynchronously via Action Scheduler. Key job hooks:
| Hook | Purpose |
|---|---|
tangible_event_enroll_user | Time-based (delayed/scheduled) course enrolment |
membersync_sync_membership_plan_changes | Re-sync all members after a plan's courses change |
membersync_sync_product_changes | Sync after a product changes |
membersync_run_migration_up | Run the data migration from the old system |