Developer hooks for Ultimate Membership Pro

Run your own code when members sign up, pay, renew or cancel, and change what the plugin shows, with standard WordPress actions and filters.

Hooks in action
Action Run your code when a Membership expires
// Runs when a Membership has expired
add_action( 'ihc_action_level_has_expired', function ( $user_id, $membership_id ) {
    // Your code: update your CRM, send a message…
}, 10, 2 );
The hook behind it
Hookihc_action_level_has_expired
TypeAction
You getUser ID, Membership ID
Filter Change the member account page tabs
// Change the standard tabs of the account page
add_filter( 'ihc_public_account_page_menu_standard_tabs', function ( $tabs ) {
    // Rename, reorder or remove tabs here
    return $tabs;
} );
The hook behind it
Hookihc_public_account_page_menu_standard_tabs
TypeFilter
You getThe list of standard tabs
In your dashboard Every hook, listed in the plugin
AllActionsFilters
ihc_payment_completedAction
ihc_filter_register_form_extra_form_fieldsFilter
ihc_action_subscription_expiredAction
Where to find them
WhereFilters & Hooks screen
ShowsName, type, description, file
Show onlyActions or filters
How it works

Actions and filters, the WordPress way

Ultimate Membership Pro calls its hooks at key moments, so your code can react or change the result.

Actions Run your code at a set moment: a sign-up, a payment, a cancelled or expired Membership.
Filters Change a value before the plugin uses it: form fields, account page tabs, redirects after login.
Where your code goes In your child theme’s functions.php or a code snippets plugin, so plugin updates never overwrite it.
Reference

Every hook, by topic

Taken from the Filters & Hooks screen of Ultimate Membership Pro on October 9, 2026. Your own dashboard always lists the hooks of the version you run, with the file each one runs in.

Registration and sign-up37 hooks
ump_before_register_new_userFilter
ump_before_submit_formFilter
ump_show_register_formFilter
ihc_filter_register_form_extra_form_fieldsFilter
ihc_filter_after_register_form_outputFilter
ihc_filter_register_process_check_errorsFilter
ihc_filter_register_process_form_fieldsFilter
ihc_filter_wp_fields_valuesFilter
ihc_filter_register_roleFilter
ump_before_printing_errorsFilter
ihc_filter_custom_fields_valuesFilter
ump_public_filter_redirect_page_after_registerFilter
ihc_register_redirect_filterFilter
ihc_filter_register_lite_process_check_errorsFilter
ihc_action_public_register_before_print_formAction
ump_before_insert_userAction
ump_on_register_actionAction
ihc_register_action_after_insertAction
ihc_action_create_user_review_requestAction
ihc_action_create_user_registerAction
ump_on_register_lite_actionActionRuns when a user signs up with the lite register form. Param: user ID (int).
ihc_register_lite_actionAction
ihc_public_filter_register_form_no_lid_redirectFilter
ihc_action_template_form_file_before_fieldsAction
ihc_action_template_form_file_before_submit_buttonAction
ihc_action_template_form_file_after_submit_buttonAction
ihc_print_content_before_register_lite_formActionPrints content before the lite register form.
ihc_print_content_after_register_lite_formActionPrints content after the lite register form.
ihc_action_double_email_verificationAction
ihc_action_user_activation_email_check_successAction
ihc_double_email_verification_failActionRuns if double email verification fails. Param: user ID (int).
ihc_double_email_verification_successActionRuns when double email verification succeeds. Param: user ID (int).
ihc_action_approve_user_emailAction
ihc_action_approve_user_accountAction
ump_filter_public_check_email_messageFilter
ihc_before_user_save_custom_fieldAction
ihc_user_save_custom_fieldAction
Login, logout and passwords9 hooks
ihc_filter_login_form_htmlFilter
ihc_login_filter_stop_processFilter
ump_public_filter_post_id_on_redirect_after_loginFilter
ihc_do_action_on_loginAction
ihc_logout_actionAction
ump_public_filter_reset_password_linkFilter
ihc_filter_reset_password_processFilter
ihc_filter_reset_passwordFilter
ihc_action_password_has_been_resetAction
Memberships and subscriptions36 hooks
ihc_before_new_subscription_actionAction
ihc_new_subscription_actionAction
ihc_action_before_subscription_activatedAction
ihc_action_after_subscription_activatedAction
ihc_action_after_subscription_first_time_activatedAction
ihc_action_after_subscription_renew_activatedAction
ihc_action_before_delete_user_subscriptionAction
ihc_action_after_subscription_deleteAction
ihc_action_before_delete_all_user_subscriptionAction
ihc_action_afters_delete_all_user_subscriptionAction
ihc_action_subscription_expiredAction
ihc_action_subscription_payment_dueAction
ihc_action_card_expire_reminderAction
ihc_action_subscription_enter_grace_periodAction
ihc_action_subscription_trial_expiredAction
ihc_action_level_has_expiredActionRuns when a Membership has expired. Params: user ID (int), Membership ID (int).
ihc_delete_level_actionAction
ihc_save_level_meta_names_filterFilterFired when a Membership is saved. Param: array with the Membership data.
ihc_save_level_filterFilter
ihc_action_admin_save_membershipAction
ihc_action_after_delete_membershipAction
ihc_public_get_user_levelsFilter
ihc_public_subscription_plan_list_levelsFilterFilters the Memberships shown in the subscription plan. Param: list of Memberships (array).
ihc_filter_public_subscription_linkFilter
ihc_filter_public_stop_showing_cancel_bttnFilter
ihc_filter_public_stop_showing_remove_bttnFilter
ihc_filter_cancel_subscriptionFilter
ihc_filter_pause_subscriptionFilter
ihc_filter_resume_subscriptionFilter
ihc_action_after_cancel_subscriptionAction
ihc_action_payments_before_cancelAction
ihc_action_cancel_subscriptionAction
ihc_action_payments_before_pauseAction
ihc_action_pause_subscriptionAction
ihc_action_payments_before_resumeAction
ihc_action_resume_subscriptionAction
Payments and orders36 hooks
ihc_payment_gateway_create_payment_objectFilter
ihc_payment_completedAction
ihc_payment_gateway_box_statusFilter
ihc_payment_gateway_statusFilterRuns when checking if a payment gateway is available. Param: true if available (bool).
ihc_payment_gateways_listFilter
ihc_filter_payment_workflowFilter
ihc_filter_payments_input_dataFilter
ihc_filter_prepare_payment_level_dataFilter
ihc_filter_before_prepare_paymentFilter
ihc_filter_after_prepare_paymentFilter
ihc_filter_payments_before_insert_orderFilter
ihc_action_before_checkAction
ihc_action_after_checkAction
ihc_action_before_prepare_paymentAction
ihc_action_after_prepare_paymentAction
ihc_action_before_save_orderAction
ihc_action_before_after_orderAction
ihc_action_before_charge_paymentAction
ihc_action_after_charge_paymentAction
ihc_action_before_webhookAction
ihc_action_after_webhookAction
ihc_action_payment_failedAction
ihc_filter_delete_level_for_user_on_payment_refundFilter
ihc_filter_delete_level_for_user_on_payment_failedFilter
ump_paypal_user_do_refundAction
ihc_action_payments_before_refundAction
ihc_action_payments_after_refundAction
ihc_order_insert_dataFilter
ump_payment_checkAction
ihc_action_after_order_placedActionRuns after an order is created. Params: user ID (int), Membership ID (int).
ihc_action_before_delete_orderActionRuns before an order is deleted. Param: order ID (int).
ihc_filter_return_taxes_for_transactionFilter
ump_coupon_code_submitedActionRuns after a coupon code is submitted. Params: coupon code, user ID, Membership ID.
ihc_bank_transfer_chargeAction
ihc_filter_the_default_countryFilter
ihc_filter_payment_logoFilter
Content access12 hooks
ihc_filter_restrictionFilter
filter_on_ihc_test_if_must_blockFilter
ump_filter_block_url_redirect_linkFilter
filter_on_ihc_block_urlFilter
filter_on_ihc_link_to_redirectFilter
filter_on_ihc_check_drip_contentFilter
filter_on_ihc_replace_contentFilter
ihc_filter_post_metaFilter
ihc_action_public_postAction
ihc_meta_box_post_settings_htmlActionRuns when a post is added or edited, to print extra HTML in the settings box.
ihc_insert_individual_page_contentFilter
ihc_filter_custom_menu_itemsFilter
Account page and profile12 hooks
ihc_filter_public_account_page_tab_linkFilter
ihc_account_page_custom_tab_contentFilterPrints the content of a custom tab on the account page. Params: tab content (string), tab slug.
ihc_public_account_page_menu_custom_tabsFilterFilters the custom tabs in the account page menu. Param: list of custom tabs (array).
ihc_public_account_page_menu_standard_tabsFilterFilters the standard tabs in the account page menu. Param: list of standard tabs (array).
ump_public_account_page_level_expire_timeFilter
ump_public_account_page_subscription_table-rowAction
ihc_update_profile_form_htmlFilter
ihc_filter_the_profile_form_outputFilter
ump_before_update_userFilter
ump_on_update_actionAction
ihc_action_update_userAction
ihc_delete_user_actionAction
Emails, notifications and opt-in13 hooks
ihc_filter_notification_before_expireFilter
ihc_send_notification_filter_messageFilter
ihc_admin_filter_notification_templateFilter
ihc_filter_notifications_runtime_listingFilter
ihc_save_notification_actionAction
ihc_admin_list_notifications_typesFilter
ihc_admin_remove_notification_from_listing_by_typeFilter
ihc_filter_constants_for_notificationsFilter
ihc_admin_notification_type_select_fieldAction
ihc_dashboard_notification_actionActionRuns when a new dashboard notification is added. Param: notification type (string).
ihc_run_opt_in_actionActionRuns on opt-in. Params: email (string), opt-in service type (string).
ump_public_action_optin_custom_serviceAction
ump_filter_optin_typesFilter
Admin dashboard28 hooks
ihc_admin_filter_user_membershipsFilter
ihc_admin_filter_datatable_members_each_row_dataFilter
ihc_filter_allowed_roles_in_dashboardFilter
ihc_filter_admin_show_the_dashboard_menuFilter
ihc_filter_admin_capability_for_dashboard_menuFilter
ump_filter_admin_plugin_top_messagesFilter
ihc_action_ajax_wss_loadedAction
ihc_admin_dashboard_after_top_menuAction
ump_action_admin_custom_limit_for_listing_usersFilter
ihc_filter_admin_is_admin_checkFilter
ihc_filter_admin_dashboard_tabsFilter
ump_print_admin_pageAction
ihc_filter_admin_dashboard_after_footer_htmlAction
ihc_admin_account_page_menu_standard_tabsFilterFilters the standard account page tabs listed in the admin. Param: array.
ump_admin_after_top_menu_add_onsAction
ihc_admin_edit_save_level_after_submit_formAction
ihc_filter_admin_section_edit_membership_after_membership_detailsAction
ihc_filter_admin_section_edit_membership_after_membership_accessAction
ihc_filter_admin_section_edit_membership_after_membership_access_settingsAction
ihc_filter_admin_section_edit_membership_after_membership_billingAction
ihc_filter_admin_section_edit_membership_after_membership_payment_settingsAction
ihc_filter_admin_section_edit_membership_after_membership_planAction
ihc_level_admin_htmlAction
ump_filter_admin_list_paymentsFilter
ihc_payment_gateway_pageActionRuns in the admin payment settings. Param: payment type.
ihc_admin_filter_members_datatable_column_namesFilter
ump_action_admin_list_user_column_name_after_total_spendAction
ump_action_admin_list_user_column_name_after_member_sinceAction
General and settings5 hooks
ihc_filter_on_load_templateFilter
ihc_action_general_initAction
ihc_default_options_group_filterFilterFilters a settings group. Params: list of settings (array), settings group type.
ihc_is_magic_feat_active_filterFilterFilters whether a module is active. Params: is active (bool), module type (string).
ihc_magic_feature_listFilterFilters the list of modules. Param: list of modules (array).
Good to know

Before you build on the hooks

A few things that keep your custom code working after updates.

Quick tips
Don’t edit the plugin files. Add your code in a child theme or a code snippets plugin, because updates replace the plugin files. Many hooks don’t have a description yet. The Filters & Hooks screen shows the file each hook runs in, so you can see where it fires. After an update, check the Filters & Hooks screen and the changelog before you rely on a hook in production. Hook names start with ihc_ or ump_. Use them exactly as listed.
More ways to connect

No PHP needed for these

Connect other systems and apps without writing hooks.

Every planAPI GateCheck a user’s Membership from another system with a secure API call.Learn more
Every planZapierSend membership events to other apps with Zapier triggers.Learn more
Every planShortcodes and blocksPlace the register form, member directory and account page on any page.Learn more
FAQ

Questions about hooks

Not sure your setup is covered? Search the documentation or try the live demo before you buy.

Where can I see all the hooks in Ultimate Membership Pro?

In your WordPress dashboard, on the plugin’s Filters & Hooks screen. It lists every action and filter with its type, description and the file it runs in, and you can show only actions or only filters.

What’s the difference between an action and a filter?

An action runs your code at a set moment, like a sign-up or a payment. A filter passes you a value, like a list of form fields or account page tabs, so you can change it and return it.

Where should I add my code?

In your child theme’s functions.php file or in a code snippets plugin. Don’t edit the plugin files, because updates replace them.

Can I run code when a Membership expires?

Yes. The ihc_action_level_has_expired action runs when a Membership has expired and passes the user ID and the Membership ID.

Can I add my own tabs to the member account page?

Yes. The ihc_public_account_page_menu_custom_tabs filter changes the custom tabs in the menu, and ihc_account_page_custom_tab_content prints a tab’s content. Without code, the Member Portal Tabs add-on in every plan adds tabs too.

Is there an API?

API Gate, in every plan, lets another system check a user’s Membership with a secure API call. For connections without code, there’s Zapier.

For developers

Build on Ultimate Membership Pro

Every plan includes the hooks, API Gate and Zapier. Try them on your own demo site first.

14-day money-back guarantee Unlimited members