Browse the database of various action and filter hooks available in Paid Memberships Pro. Select an action or filter to view detailed information, examples, and related articles with code recipes.

Show Action and Filter Hooks in:

Action Hook: Use this action to execute custom code after a user checks out, before any emails are sent. This hook passes the WordPress user’s id number and the full order object.

Action Hook: This action runs at checkout before calling the sendToPayPal method on the order. Any custom user fields at checkout will update the user meta fields during this hook in addition to the pmpro_after_checkout hook. This hook is required because in the PayPal Standard gateway, the pmpro_after_checkout is called when $_SESSION variables are not available.

Action Hook: Use this hook to execute custom behavior before the membership level is changed at checkout. This hook is also used by integrated payment gateways for offsite checkout in some cases.

Action Hook: Action to run extra preheader code before processing the checkout, primarily used by the integrated gateways.

Action Hook: Allow hooking before the user authentication process when setting up new user.

Filter Hook: This filter is checked every time that a checkout form is submitted regardless of if there is already a user or if $pmpro_review is set. Use this file for checks that have to do with the form submission itself, such as captchas.

Filter Hook: Check payment confirmation or replace it based on the order object passed. If an array is returned, parse order data. This hook has been deprecated. Please use the process() method in the gateway classes instead.

Filter Hook: Change the end date for the membership and/or subscription.

Filter Hook: This hook allows you to modify the membership level object before checkout.

Filter Hook: Change and/or modify the user data that is created for the user after checkout. This is useful for changing the user login, password, email, and other user data.

Filter Hook: This hook controls whether or not to allow registrations with email addresses which have already been used. By default, PMPro does not allow multiple registrations with one email address and shows an error if the email address has already been used. This hook has been deprecated. Please use the pmpro_checkout_user_creation_checks hook instead.

Filter Hook: Used by integrated payment gateways to filter the order.

Filter Hook: Filter whether this checkout should proceed to the order creation step.

Action Hook: Action to run extra preheader code before setting checkout level.

Action Hook: Allow running code when checkout processing fails.

Filter Hook: A hook for developers to modify the security level of the authentication cookie during the checkout or login process. This hook is especially useful when dealing with different SSL configurations or custom security needs. Use it to force PMPro to login over http or https in case other plugins (like WordPress MU Domain Mapping) conflict (more...)

Filter Hook: This hook pmpro_checkout_start_date allows you to change the start date of a membership before checkout.

Filter Hook: Filter whether this checkout should proceed to the user creation step.

Filter Hook: This filter changes the URL to redirect to on confirmation. By default, this redirects to the PMPro Confirmation page with pmpro_url("confirmation", "?level=" . $pmpro_level->id). It also passes the user ID of the current user and the level object.

Filter Hook: This filter modifies the level  given by a discount code.  It passes the level object and the discount code ID.

Action Hook: Hook to execute custom code when a discount code is used after a membership checkout.

Filter Hook: Hook to allow custom code to alter the user object before it is created at membership checkout. This hook has been deprecated. Please use the wp_pre_insert_user_data hook instead.

Action Hook: Saves extra variables to the session for use in certain cases with PayPal Express.

Filter Hook: Filters the start date of a membership sent to the payment gateway. Can be used to create variable-length trials. Passes the start date and order object.

Filter Hook: Executes custom code which runs after the order has passed validation, before the registration is continued. Can be used to add custom validation.

Filter Hook: Filters the required fields for the Billing Address section on the checkout page. Passes the array of field names.

Filter Hook: Filters the required fields for the Account Information section on the checkout page. Passes the array of field names.

Filter Hook: Filter to optionally set the Membership Checkout page to require JavaScript to process.

Filter Hook: Filter allows control of sending checkout emails

Filter Hook: Filter to proceed with setting up the new user and membership after the checkout page is submitted.

Filter Hook: Controls whether or not to show the “Apply Discount Code” field at checkout. By default, this field is only shown when there is a discount code which applies to this level.

Filter Hook: This filter is used to determine if the username/password account fields should show up at checkout. By default, it is shown when the user is logged out and not shown when logged in. The hook allows you to return true or false to override this behavior. If the fields are skipped while no user is (more...)

Filter Hook: Controls whether to verify the Billing Address fields at checkout when using the Stripe payment gateway.

Filter Hook: Modifies the list of valid gateways used by PMPro. By default, it returns the gateway set in Memberships > Payment Settings in the WordPress Dashboard.

Filter Hook: Controls whether to send the default WordPress new user notifications when a user is created at checkout. By default, this is set to false and also checks our admin setting to adjust this filter on the Memberships > Settings > Email Settings admin page.