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 hook to add extra list items to the Profile section on the Membership Account page, below Email Address.

Action Hook: Use this hook to add extra list items to the Profile section on the Account page, above Username.

Action Hook: Execute custom code when the Paid Memberships Pro plugin is activated.

Action Hook: Perform an action after a discount code is added if it doesn’t already exist.

Action Hook: Run code after a new membership level is created in the pmpro_membership_levels table.

Action Hook: Use this hook to execute custom code after a PMPro order has been added.

Action Hook: Perform an action before a discount code is added if it doesn’t already exist.

Action Hook: Run code before a new membership level is created in the pmpro_membership_levels table.

Action Hook: Use this hook to execute custom code before a PMPro order has been added.

Action Hook: Run code after all membership level changes have occured. Users who have had changes will be stored in the global $pmpro_old_user_levels array.

Action Hook: Execute custom code after posting stored field values to Authorize.net.

Action Hook: Use this hook to execute custom code after a user’s membership level is changed or cancelled. This hook passes the new level ID, the user ID of the WordPress user, and the level ID being cancelled (if specified).

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 membership order number.

Action Hook: Execute custom code or display extra fields on a user’s profile page.

Action Hook: Execute custom code to perform a clean up or reset memory limits after the members list CSV is exported.

Action Hook: Execute custom code to perform a clean up or reset memory limits after the orders CSV is exported.

Action Hook: This hook executes custom code at the end of an Order page in the WordPress dashboard. The MemberOrder object is passed.

Action Hook: Perform an action after the email is prepared to send if using PHPMailer directly.

Action Hook: Use this hook to add additional content or settings inside the “Require Membership” metabox on the single post or page edit screen.

Action Hook: This hook executes custom code when setting the current user with the WordPress core function. For more information on this view the wp_set_current_user() function in the WordPress Codex.

Action Hook: This hook fires inside of the JS script tag returned by the applydiscountcode.php service. The hook can be used to do other PHP or JavaScript actions before sending the results of the discount code AJAX call to the client browser.

Action Hook: Execute custom code before posting field values to Authorize.net.

Action Hook: Action to run custom code before the membership level changes.

Action Hook: Allow performing actions just before sending the user to the gateway to complete the payment.

Action Hook: Use this hook to run custom actions prior to the members list export to CSV.

Action Hook: Hook to execute custom code on the array of order IDs to be exported from the Memberships > Orders > Export to CSV page in the WordPress admin.

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 add extra fields to the billing page or execute custom code immediately before the Submit button.

Action Hook: Use this hook to execute code on the billing page before headers are sent. “Preheader” code runs during the WordPress “init” hook.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Billing Address fields.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Captcha field.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Email fields.

Action Hook: Use this hook to add custom content below the Membership Checkout page form. The custom content displays inside the div that wraps the checkout page content with selected level ID.

Action Hook: Use this hook to execute custom code immediately after the level cost on the checkout page.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Password fields.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Payment Information fields.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Prcing fields.

Action Hook: Use this hook to output content after the TOS (Terms of Service) on the Membership Checkout page.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Terms of Service field.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the Username fields.

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately after the User fields.

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: Use this hook to add extra fields to the checkout page or execute custom code immediately before the Submit button.

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

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code in the middle of the checkout page.

Action Hook: Use this hook to execute code on the checkout page before headers are sent. “Preheader” code runs during the WordPress “init” hook.

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

Action Hook: Allow running code when checkout processing fails.

Action Hook: Action to run extra code when Paid Memberships Pro is deactivated.

Action Hook: Use this hook to execute custom code just  before  a discount code is deleted. This passes the ID of the discount code to be deleted.

Action Hook: Use this hook to execute custom code just before a membership level is deleted. This passes the ID of the membership level to be deleted.

Action Hook: Use this hook to execute custom code after an order is deleted. It passes the order ID and order object being deleted.

Action Hook: Use the pmpro_discountcodes_extra_cols_body and pmpro_discountcodes_extra_cols_header hooks to add extra columns  to the discount codes page. This hook accepts the body HTML code of the extra column.

Action Hook: Use the pmpro_discountcodes_extra_cols_body and pmpro_discountcodes_extra_cols_header hooks to add extra columns  to the discount codes page. This hook accepts the header HTML code of the extra column.

Action Hook: Use this hook to add extra fields or execute custom code after the level settings when editing discount codes.

Action Hook: Use this hook to add extra fields or execute custom code after the settings when editing discount codes.

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

Action Hook: Action hook to run additional code for when a specific gateway webhook is running.

Action Hook: Since 1.7.15. In services/getfile.php, fires when a user tries to access a file that they don’t have access to.

Action Hook: Action to do extra processing on the retrieved file (attachment) before returning the full file location.

Action Hook: Add extra list item (<li></li>) elements to the Confirmation and Invoice pages. Passes the MemberOrder attached to that invoice.

Action Hook: Add extra list item (<li></li>) elements to the Confirmation and Invoice pages. Passes the MemberOrder attached to that invoice.

Action Hook: Perform an action after the welcome menu and before the logout link.

Action Hook: Perform an action before the welcome menu Log In Widget.

Action Hook: Perform an action when adding a custom column in the memberlist table.

Action Hook: Allow adding form fields after the Billing Details section on the Edit Membership Level page in the WordPress admin.

Action Hook: Insert form fields or other content inside the “General Information” section of the Edit Membership Level page in the WordPress admin.

Action Hook: Use this hook to add extra fields or execute custom code on the Edit/Add Membership Level pages after the “Other Settings” section.

Action Hook: Insert form fields or other content before the “Billing Information” section of the Edit Membership Level page in the WordPress admin.

Action Hook: Insert form fields or other content before the “Content Settings” section of the Edit Membership Level page in the WordPress admin.

Action Hook: Action to execute custom code for a specific user ID and membership level after the expiration cron event has run.

Action Hook: Action to execute custom code for a specific user ID and membership level before the expiration cron event has run.

Action Hook: Use the pmpro_memberslist_extra_cols_body and pmpro_memberslist_extra_cols_header hooks to add extra columns to the Memberships > Members List page. This hook passes the usermeta of the current user being displayed.

Action Hook: Use the pmpro_memberslist_extra_cols_body and pmpro_memberslist_extra_cols_header hooks to add extra columns to the Memberships > Memberships List page. This hook passes the usermeta of the current user being displayed.

Action Hook: Action to insert additional content below the member action links for each membership level shown in the Memberships section of the Membership Account page.

Action Hook: Action to insert additional content before the member action links for each membership level shown in the Memberships section of the Membership Account page.

Action Hook: Add extra list item links to the bottom of the Member Links section on the Membership Account page.

Action Hook: Add extra list item links to the top of the Member Links section on the Membership Account page.

Action Hook: Fires inside the member-profile-edit form tag in the pmpro_member_profile_edit_form function.

Action Hook: Add extra columns to the Orders page with the pmpro_orders_extra_cols_body and pmpro_orders_extra_cols_header hooks. Passes the $order object.

Action Hook: Add extra columns to the Orders page with the pmpro_orders_extra_cols_body and pmpro_orders_extra_cols_header hooks. Passes the array of order IDs


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

Action Hook: To trigger logics after any PayPal HTTP post request is completed.

Action Hook: Perform an action when a profile field is edited on the user profile page on the front-end.

Action Hook: Filter to adjust whether the order can be refunded.

Action Hook: Execute custom code after saving a discount code.

Action Hook: Executes custom code after saving a discount code’s level settings.

Action Hook: Execute custom code after saving a membership level.

Action Hook: Hook into after the user profile page is shown before the submit button. This is useful for adding additional fields or logic towards the end of the profile page.

Action Hook: Allow custom code to run before exiting when a Stripe Webhook is received.

Action Hook: Use this hook to execute custom code after a Stripe Webhook has been received.

Action Hook: For BrainTree only. Execute custom code before sending the Subscription Expired email. Passes the user’s last successful MemberOrder object.

Action Hook: Post processing for a specific PayPal subscription-related IPN event ID.

Action Hook: Execute custom code before saving a successful order. This hook is available for the following gateways: Stripe, PayPal, Authorize.net, Braintree, and TwoCheckout.

Action Hook: Execute custom code when a subscription payment fails. Passes the last successful MemberOrder object.

Action Hook: For BrainTree only. Execute custom code before sending the Billing Failure email. Passes the user’s last successful MemberOrder object.

Action Hook: Allow hooking into after a webhook has been run but was not handled.

Action Hook: Perform an action after a discount code is updated if it already exists.

Action Hook: Run code after an existing membership level is updated in the pmpro_membership_levels table.

Action Hook: Use this hook to execute custom code after a PMPro order has been updated. This hook returns the MemberOrder object.

Action Hook: Allow running code when the function to update a user’s billing details from the Membership Billing page fails.

Action Hook: Perform an action before a discount code is updated if it already exists.

Action Hook: Run code before an existing membership level is updated in the pmpro_membership_levels table.

Action Hook: Use this hook to execute custom code before updating a PMPro order. This hook returns the MemberOrder object.

Filter Hook: This filter is the same as the WordPress core filter. PMPro uses it when displaying excerpts as part of the pmpro_membership_content_filter() function.

Filter Hook: This filter controls the translation template to load for a specific language by using WordPress’s core function get_locale().

Filter Hook: Modify the display of the member’s expiration date, if applicable, on the output of the [pmpro_account] shortcode.

Filter Hook: Change the URL you want to redirect to when a visitor without a WordPress user account visits the Membership Account page, or disable the redirect completely by passing 0. By default, this returns the Membership Levels page and accepts a URL.

Filter Hook: Change the URL you want to redirect to when a visitor without a PMPro membership visits the Membership Account page, or disable the redirect completely by passing 0. By default, this returns the Membership Levels page and accepts a URL.

Filter Hook: Filter which links are displayed on the user profile account page.

Filter Hook: Change the default separator in-between navigation links on the login screen.

Filter Hook: Filter the user field to add.

Filter Hook: Filter the group to add the user field to.

Filter Hook: Filter the Admin Activity Email sections.

Filter Hook: Set post type to use for PMPro pages in the page settings dropdown.

Filter Hook: This hook has been deprecated. Use pmpro_admin_pagesetting_post_type instead. Filter the post types available to use for plugin-required pages as set under Memberships > Settings > Page Settings.

Filter Hook: Use this hook to change the AJAX  timeout limit from 2000 (2 seconds) to something else when checking and applying discount codes on the Membership Checkout page.

Filter Hook: Specify which gateways support refund functionality.

Filter Hook: Whether to allow weak passwords on the change password and reset password pages.

Filter Hook: This filter allows you to change admin account membership levels via API calls. We added this filter to make sure the REST API does not change information for admin accounts mistakenly.

Filter Hook: Allows you to filter the information when creating a user via the REST API or our Zapier native integration’s change_membership_level endpoint.

Filter Hook: Adjust and return capabilities for Paid Memberships Pro based on the user’s specific role.

Filter Hook: Filter stored field values before posting to Authorize.net.

Filter Hook: Use this filter to change the location of the gateway log target file.

Filter Hook: Use the Authorize.net gateway class with a different post url, e.g. if you have a gateway that offers an Authorize.net compatibility mode.

Filter Hook: Filters values to be sent to authorize.net.

Filter Hook: This filter changes the protocol used for URLs (https:// vs http://). If $besecure is set to true, the page will be loaded over HTTPS. For more information, read this blog post.

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

Filter Hook: Whether to show the member’s subscription payment method as a list item at the top of the Billing Information page.

Filter Hook: Block dashboard access from users with the role of Subscriber.

Filter Hook: Use this filter to change the information passed to the Braintree gateway transaction attributes. Default data includes the customerID and transaction amount.

Filter Hook: Use this filter to change the location of the gateway log target file.

Filter Hook: This hook controls whether or not PMPro cancels a user’s previous membership level at checkout, which is enabled at default. This is dangerous, but is useful in certain cases like the PMPro Addon Packages plugin.

Filter Hook: Filter the new level for the user as passed in to the pmpro_changeMembershipLevel function before it is added to the member.

Filter Hook: Check payment confirmation or replace it based on the order object passed. If an array is returned, parse order data.

Filter Hook: This filter controls whether to display and require the “Confirm Email” field at checkout. By default, it’s set to true (show and require field).

Filter Hook: This filter controls whether to display and require the “Confirm Password” field at checkout. By default, it’s set to true (show and require field).

Filter Hook: Whether to use the default submit button or not during checkout. This filter can be used to output a custom submit button in the callback if false is returned.

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: Message shown at checkout whether the checkout submission has errors or other information returned from the payment gateway.

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.

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

Filter Hook: apply_filters( “pmpro_checkout_order_free“, $morder );

Filter Hook: Force PMPro to login over http or https in case other plugins (like WordPress MU Domain Mapping) conflict with what should be chosen here

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

Filter Hook: Filter the results of the discount code check. This can be used to add additional programmatic requirements to a discount code being used. Return true if discount code is okay to use. Return false or a string containing the error text if the discount code is not okay to use.

Filter Hook: This filter controls whether discount codes should only be applied to certain levels. By default, this is set to true, and discount codes are checked to see if they apply to the membership level passed. Return true if the code can be used with the level supplied or false if not.

Filter Hook: This filter allows you to set the status of an order to “pending” instead of “success” when a user checks out with the check gateway. They will still have access to the membership level, but you can update the status via the Orders page in the WordPress dashboard later.

Filter Hook: This filter changes the output on the confirmation page without having to templatize it. The filter passes the constructed HTML string with the confirmation message and a second parameter containing the order/invoice object if it is a paid membership.

Filter Hook: This filter can change which status the confirmation page looks for. This will also accept an array.

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 hook allows you to modify the default list of countries used by PMPro.

Filter Hook: Change or add parameters to the name-value-pair string sent to PayPal when trying to create a subscription. Passes the nvpString and order object.

Filter Hook: This hook allows you to modify the default list of currencies used by PMPro. Also allows you to move the default position of the currency symbol.

Filter Hook: This hook extra fields to the Memberships > Advanced Settings page in the WordPress dashboard. It accepts an array of fields as described here.

Filter Hook: Allow custom plugins to filter the Page IDs for the navigation menu items for Paid Memberships Pro pages.

Filter Hook: Filter whether old levels should be deactivated or not (default behavior is yes) when a member changes levels.

Filter Hook: This hook allows you to change the default country used by PMPro. It accepts a string, which should be one of the country codes specified in the $pmpro_countries global variable.

Filter Hook: This hook allows you to change the default currency used by PMPro. It accepts a string, which should be one of the currency codes specified in the $pmpro_currencies global variable.

Filter Hook: Filter to modify the default label for a new field group when creating groups on the Memberships > Settings > User Fields page in the WordPress admin.

Filter Hook: Filter the default level at checkout and place into the $pmpro_level global.

Filter Hook: Filter the order statuses that cannot be refunded from.

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

Filter Hook:

Filter Hook: Change or add parameters to an name-value-pair string sent to PayPal when checking out. Passes the nvpString and order object.

Filter Hook: This filter allows developers to change the default capability checked by PMPro to edit Membership options. The default is “manage_options” which is given to administrators.

Filter Hook: Check whether the current section of content should be shown based on Advanced Settings in the Elementor editor.

Filter Hook: Filter to modify or append items to the the dropdown list of levels shown in the “Require Membership Level” setting on the Advanced tab in Elementor.

Filter Hook: Filters the list of CSS class names for the current element.

Filter Hook: Add email attachments to the PMPro emails.

Filter Hook: Use this to filter the content of the body of an email sent by PMPro. This filter returns the email body content and the PMProEmail object.

Filter Hook: Filter to modify the content of your email footer via custom code. You can adjust this content without custom code on the Memberships > Settings > Email Templates page in the WordPress admin.

Filter Hook: Filter to modify the content of your email header via custom code. You can adjust this content without custom code on the Memberships > Settings > Email Templates page in the WordPress admin.

Filter Hook: Add additional template directories to search when loading email templates.

Filter Hook: This filter makes it easier to add variables to edited email templates by passing an array of key-value pairs. Those values can then be used in email templates with the format: !!key!!. This passes the data array and PMProEmail object.

Filter Hook: This filters how many days before expiration PMPro should send expiration warning emails. The default is 7 days.

Filter Hook: Send a trial expiration email within a time period before the trial ends.

Filter Hook: Filter to set if PMPro uses email or text as the type for email field inputs.

Filter Hook: Use this to filter the entire PMProEmail object at once. This passes the PMProEmail object.

Filter Hook: Use this to change the headers of an email sent by PMPro. This hook returns the email headers and the PMProEmail object.

Filter Hook: Use this to change the recipient of an email sent by PMPro. This hook returns the recipient  and the PMProEmail object.

Filter Hook: Use this to change the sender of an email sent by PMPro. This hook returns the sender and the PMProEmail object.

Filter Hook: Use this to change the sender name of an email sent by PMPro. This hook returns the sender name and the PMProEmail object.

Filter Hook: Use this to change the subject of an email sent by PMPro. This hook returns the subject  and the PMProEmail object.

Filter Hook: Use this to change the template name of an email sent by PMPro. The template name specifies which email template to use for the email body. This hook returns the template name and the PMProEmail object.

Filter Hook: Determine if the Euro currency symbol is to the left or right of the price.

Filter Hook: Add extra PMPro-related pages used by add ons or other customizations. A new dropdown is added to the Memberships -> Page Settings tab of the PMPro settings to allow admins to set the page, and the page’s post_id will be made available in the $pmpro_pages global variable. The filter should take an array as the (more...)

Filter Hook: Use this to filter the CSS classes added to the fields on the checkout page. This is normally used to handle error highlighting with the “pmpro_error” class. This returns the CSS classes and the current the current field name to be applied to.

Filter Hook: Format an address from address, city, state, zip, country, and phone. Useful for printing out the address on orders, emails, and more.

Filter Hook: Filter the formatted/output field names.

Filter Hook: Change how phone numbers are formated. Param 1 is $r, the formatted phone number. Param 2 is $phone, the original phone number

Filter Hook: Adjust the formatting of prices to support currency symbols after the price or to use commas instead of periods for separators

Filter Hook:


Filter Hook: Filter the list of filetypes not allowed by the get_file() extension. By default inc, php, php3, php4, php5, phps, and phtml file types are not allowed.

Filter Hook: Amount of seconds before a request times out when retrieving Paid Memberships Pro Add Ons.

Filter Hook: Change or add parameters to an name-value-pair string sent to PayPal when confirming a checkout for review. Passes the nvpString and order object.

Filter Hook: The gateway which should be used when performing a checkout action.

Filter Hook: Filter and return the levels for a user ID or the currently logged-in user.

Filter Hook: Return the first active membership for a user.

Filter Hook: Filter the page IDs for Paid Memberships Pro pages.

Filter Hook: Filter to modify the price parts, add parts, or modify the display. Does not include the order total.

Filter Hook: Filter including the total price to modify the price parts, add parts, or modify the display.

Filter Hook: Change or add parameters to the data string used by PayPal to get subscription details.

Filter Hook: Use this hook to filter the membership access of a given post. This overrides the output of the pmpro_has_membership_access() function and returns the boolean true or false, the WP_Post object, the  WP_User object, and an array of the membership levels required for the post.

Filter Hook: Use this hook to filter the membership access of a given post by specific post type. This overrides the output of the pmpro_has_membership_access() function and returns the boolean true or false, the WP_Post object, the  WP_User object, and an array of the membership levels required for the post.

Filter Hook: This filter can be used to override the output from the pmpro_hasMembershipLevel() function.  It passes the boolean true or false, user ID, and the array of required levels for that post passed to pmpro_hasMembershipLevel().

Filter Hook: Whether to hide the billing address fields in the checkout form.

Filter Hook: Whether to show or hide the payment information fields during checkout.

Filter Hook: Hide the toolbar from users with the role of Subscriber.

Filter Hook: Whether to include the billing address fields on checkout and on the billing page.


Filter Hook: Include the payment information fields on the checkout/billing pages.

Filter Hook: Include PayPal option for payment (default: true) or false for Website Payments Pro.

Filter Hook: This filter is used to determine if the “Membership Level” box, including the level description and pricing information, should show up at checkout. The hook allows you to return true or false to override this behavior.

Filter Hook:

Filter Hook: Filters the $show_country variable which controls whether to show the “Country” field at checkout. By default this is set to true. If set to false, the country will be “US”.

Filter Hook: FIlters the membership level passed and changes the order accordingly. Passes the membership level ID and user ID of the order.

Filter Hook: Change how the email is checked in the PayPal IPN handler. Passes true or false and an array containing the receiver email and business email.

Filter Hook: Use this filter to change the location of the gateway log target file.

Filter Hook: Determine if an IPN request is valid or not from PayPal.

Filter Hook: Return whether the level is expiring soon or not.

Filter Hook: Filter to determine if PMPro setup is complete or if notices or warnings need to be shown in the PMPro settings. Note: The filter should return true or false and also set the $pmpro_level_ready, $pmpro_gateway_ready,$pmpro_pages_ready global variables.

Filter Hook: Allow filtering whether the current visitor is a spammer.

Filter Hook: Filters the array of levels before displaying them on the Membership Levels page.  Passes the array of levels.

Filter Hook: Retrieve level cost text from all levels.

Filter Hook: Change or filter the expiration text for a level.

Filter Hook: Overrides how the cost is shown on the checkout page. The hook passes the text generated by the pmpro_getLevelCost($level) function and also a level object which is prepopulated with levels pricing and expiration settings already adjusted for any discount codes that may be in effect.

Filter Hook: Use this hook if you want to change the level description.

Filter Hook: Overrides how the expiration information is shown on the levels and checkout pages. Again don’t abuse this by showing a different expiration than is real. Be careful if you change your expiration settings to update your filter if needed. The hook passes the text generated by the pmpro_getLevelExpiration($level) function and also a level object which (more...)

Filter Hook: Change the timeout for the license check request (default 5 seconds).

Filter Hook: Filter or change the arguments for displaying membership categories.

Filter Hook: Change the navigation links below the login form.

Filter Hook: Controls whether or not to redirect the default WordPress User Registration page to the Membership Levels page in Paid Memberships Pro. Passing false will disable the redirect.

Filter Hook: Filters the URL to redirect to when logging in. Passes the URL, request, and WP_User object.

Filter Hook: Choose whether to redirect back to the original page after login using the login widget. The default is yes (true).

Filter Hook: Filters whether or not to use the international address form. By default, this is set to true to allow any form of address.  When set to false, this will display the shortened “US” version.

Filter Hook: Change or add parameters to an name-value-pair string sent to PayPal when trying to a cancel a subscription. Passes the nvpString and order object.

Filter Hook: Filter to add additional page title action links on the Memberships > Settings > Levels page in the WordPress admin. For example, this filter is used by the Multiple Membership Per User Add On to add the “Add New Group” button.

Filter Hook: Add extra user row actions or links to the Memberships > Settings > Levels page in the WordPress admin. This filter works similar to the WordPress core user_row actions filter. Additional row actions should be formatted as array: 'key' => 'HTML link'.

Filter Hook: Filter to add or remove level templates from the Membership Levels > Add New popup.

Filter Hook: Filter to allow plugins and themes to find the protected post.

Filter Hook: Filter to let other plugins change how PMPro filters member content. If anything other than false is returned, that value will overwrite the $content variable and no further processing is done in this function.

Filter Hook: Hide levels that don’t allow signups by default (default is false, to not show the levels).

Filter Hook: Allow third-parties and Add Ons to override the HTML for the Membership Levels table.

Filter Hook: Filters whether or not to show the total revenue information on the Memberships > Member List page in the WordPress dashboard. By default this is set to false to hide this.

Filter Hook: Sets the PHP date format used during CSV export.

Filter Hook: Filter to adjust the value of the “Expires” column on the Members List, Members List CSV export, and “Expires” column on the Recent Members widget.

Filter Hook: Add extra columns to the memberlist table.

Filter Hook: Change the default number of items to show on the Members List page. Default is 15

Filter Hook: Add extra user row actions or links to the members list in the dashboard. Works the same as the core user_row actions. Array of actions should be formatted as array(‘key’ => ‘HTML link’)

Filter Hook: Filters the default columns to show on the Members List CSV export. Passes an array of arrays with the format array("object", "property").

Filter Hook: Adds extra columns to the Members List CSV export. Passes an array of arrays with the format array("object", "property").

Filter Hook: Filter the headings in the Membership List CSV export. Returns a string of headings separated by commas.

Filter Hook: Filters the SQL query used on the Members List and Members List CSV export. Passes the SQL query string.

Filter Hook: Filter the user data in the admin member list and the members list CSV export.

Filter Hook: Filters the link displayed per member on the Members List and Login Reports pages. Passes the HTML code of the link and the WP_User object of that user.

Filter Hook: Filter the action links displayed on the user’s account page.

Filter Hook: Redirect users to the login screen if the user isn’t logged in.

Filter Hook: Filters the WP_User object fields shown on the frontend Member Profile Edit page.

Filter Hook: Filter the field return value before display via the [pmpro_member] shortcode.

Filter Hook: Filters the pmpro_getMemberStartdate function. Passes the $user_id, and the $level_id as parameters.

Filter Hook: Hook to allow custom code to alter the user object before it is created at membership checkout.

Filter Hook: Filter the next payment date for a given user.

Filter Hook: Filters the message displayed when the post is viewed by a logged in WordPress user who does not have a membership level. By default, this is set to display the text configured on the Memberships > Settings > Advanced Settings page.

Filter Hook: Filters the message displayed when the post is viewed by a visitor who does not have a WordPress user account. By default, this is set to display the text configured on the Memberships > Settings > Advanced Settings page.

Filter Hook: Filter to adjust the default filename for the orders export from the Membership > Orders > Export to CSV page in the WordPress admin.

Filter Hook: Filter hook to add extra columns to the Orders CSV export. Passes an array of column data with the format $extra_columns['heading'] => callback_function.

Filter Hook: Change the default number of items to show on the Members List page.

Filter Hook: Modifies the array of fields which are readonly on the Orders page. The callback function should return an array of field names or an empty array to make all fields editable.

Filter Hook: Filters the list of fields to search for when using the Search Orders function on the Orders pages.

Filter Hook: Controls whether or not to also search by usermeta when using the Search functionality on the Orders pages. By default, this is set to false (don’t search usermeta).

Filter Hook: Controls whether or not to show affiliate IDs on the Orders Page. This is used by various integrations with affiliate platforms.

Filter Hook: Optionally show the deprecated “coupon amount” field on the Orders admin page and in the Orders CSV export.

Filter Hook: Add extra user row actions or links to the orders in the dashboard. Works the same as the core user_row actions. Array of actions should be formatted as array(‘key’ => ‘HTML link’)

Filter Hook: Filters the discount code object for the code used in this order.

Filter Hook: Filter to adjust the format of the date as exported in the Orders CSV file.

Filter Hook: Filter to adjust default data included in the orders export from the Membership > Orders > Export to CSV page in the WordPress admin.

Filter Hook: Filter to adjust the default data headings included in the orders export from the Membership > Orders > Export to CSV page in the WordPress admin.

Filter Hook: Filter to adjust where to store the temporary orders export file generated from the Membership > Orders > Export to CSV page in the WordPress admin.

Filter Hook: Filters the list of statuses which can be applied to an order using the “Status” select menu when editing or adding a new order. Passes an array of statuses.

Filter Hook: Add additional template directories to search when loading page templates.

Filter Hook: Filters the HTML content generated by page shortcodes in Paid Memberships Pro. This filter can be used to create custom page templates in a customizations plugin as described in the frontend page templates customization docs.

Filter Hook: Change or add parameters to the name-value-pair string sent to PayPal’s Payflow Gateway when trying to create a subscription. Passes the $nvpStr and order object.

Filter Hook: Change or add parameters to the name-value-pair string sent to PayPal’s Payflow Gateway when processing a subscription cancellation. Passes the $nvpStr and order object.

Filter Hook: Change or add parameters to the name-value-pair string sent to PayPal’s Payflow Gateway when processing a charge. Passes the $nvpStr and order object.

Filter Hook: Change or add parameters to the name-value-pair string sent to PayPal’s Payflow Gateway when creating a subscription. Passes the $nvpStr and order object.



Filter Hook: Filter to allow individual gateways to adjust the fields on the Payment Gateway & SSL settings page in the WordPress admin.

Filter Hook: Filter to allow you to specify whether users completing checkout with PayPal can optionally set up payment without a PayPal account (only available for specific PayPal gateways and one-time payments).

Filter Hook: Change the URL of the image used for the PayPal button.

Filter Hook: Filter parameters to the ReturnURL when checking out with PayPal Express. Returns an array of key, value pairs: { return array("option" => "1"); }.

Filter Hook: Filter to modify the description of the membership purchased and included in the order details sent to PayPal. Default format is LEVELNAME at SITENAME.

Filter Hook: Filter to modify which payment statuses to treat as renewal failure when processing the PayPal IPN.

Filter Hook: Filter to modify which txn types to treat as failure when processing the PayPal IPN.

Filter Hook: Change or add parameters to an name-value-pair string sent to PayPal in a couple cases. Passes the nvpString and order object.

Filter Hook: Filters the HTML content shown when the submit button is clicked on the checkout page. Passes a text string by default, but can be used to pass new HTML code as well.

Filter Hook: Processes a refund for a specific gateway.

Filter Hook: Controls whether to show the Expiration Date section on a user’s profile page.

Filter Hook: Controls whether or not to show the Membership Level section on a user’s profile page.

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: Filters how random codes are generated for invoices, discount codes, etc. Passes the code and order object.

Filter Hook: Filter to adjust the language of the reCAPTCHA anti-spam feature. The default language is pulled from your site’s locale.

Filter Hook: Filter the list of registered crons for Paid Memberships Pro.

Filter Hook: Filters the location that users will be redirected to when attempting to visit the default WordPress User Registration page. Returning false or an empty string will result in no redirect from the register page.

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: Allow filtering whether to remove duplicate “active” memberships by setting them to “changed”.

Filter Hook: Filter query to get cancellation numbers in signups vs cancellations detailed report.

Filter Hook: Filter query to get cancellation numbers in signups vs cancellations detailed report.

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 which methods the REST API accepts. Defaults are GET, POST, PUT, and PATCH.

Filter Hook: Whether to allow REST API permissions via a filter. Default is the result of a capabilities check for pmpro_edit_memberships or read (for subscribers).

Filter Hook: Filters the capabilities for available routes in the WordPress REST API methods for Paid Memberships Pro.

Filter Hook: Filters the message displayed when the post is viewed by in an RSS feed. By default, this is set to display the text configured on the Memberships > Advanced Settings page.

Filter Hook: Allows you to add additional post types to the Memberships > Settings > Advanced Settings > “Filter Searches and Archives?” functionality.

Filter Hook: Allow filtering whether to send an early 200 HTTP response. The default for this hook is false.

Filter Hook: Filter allows control of sending checkout emails

Filter Hook: Controls whether or not to send members a credit card expiring soon email. Passes the boolean true or false and the user ID.

Filter Hook: Controls whether or not to send membership level expiration emails. Passes the boolean true or false and the user ID.

Filter Hook: Controls whether or not to send membership level expiration warning emails. Passes the boolean true or false and the user ID.

Filter Hook: Controls whether or not to send membership level trial ending emails. Passes the boolean true or false and the user ID.

Filter Hook: Filter the list of sensitive request variables that should not be saved in the database.

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

Filter Hook: Use this filter to adjust the fee percentage sent to Stranger Studios for managing the Stripe Connect server. Learn more about Stripe Connect platform fees here.

Filter Hook: Change or add parameters to an name-value-pair string sent to PayPal in a couple cases. Passes the nvpString and order object.

Filter Hook: Filter to set max number records to process at a time for the Reports > Membership Stats export (helps manage memory footprint).

Filter Hook: Sets max number of orders exported at a time during CSV export. This filter is used by the Orders CSV export in the core plugin.

Filter Hook: Sets max number of users exported at a time during CSV export. This filter is used by the Members export in the core plugin as well as a few of our Add Ons with a user or member export option.

Filter Hook: Filter to set max number records to process at a time for the Reports > Visits, Views, and Logins export (helps manage memory footprint).

Filter Hook: Filter to adjust the content of the message shown during any message handling script. Sets the value of the message shown to the user.

Filter Hook: Controls whether to show the CVV field on the billing and checkout pages.

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: Whether to show a registration link below the login form. The default is the registration settings in the WordPress admin under Settings > General.

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: Filters the default Array of states when not using the international version (basic text field) on the checkout page.

Filter Hook: Added pmpro_state_dropdowns filter. If you return true, the state field will become a dropdown with US states. Use the pmpro_states and pmpro_states_abbreviations filters to change the array of states used.

Filter Hook: Controls whether or not to use the international form of the State field. If set to true, state field will become a select menu with a list of US state abbreviations. Use pmpro_states to modify the array of state abbreviations used.

Filter Hook: This filter is used by PMPro to verify that your site domain is configured in your Stripe account’s Apple Pay settings. Most Stripe accounts will not have more than the default number (10) domains set up in their account. If your Stripe account has more than ten domains configured for Apple Pay, use this filter (more...)

Filter Hook: Filter the parameters used to create the Stripe charge.

Filter Hook: Filter to modify the Stripe customer if it is newly created at membership checkout.

Filter Hook: Filter to modify details in the Stripe plan object created during Membership Checkout.

Filter Hook: Filter the parameters used to create the Stripe plan.

Filter Hook: This hook is triggered during a very small edge case where membership checkout fails for users with an existing membership and we reinstate membership for a 3 day grace period.

Filter Hook: Filter to modify what level ID (or array of IDs if using the Multiple Memberships Per User Add On) are to be cancelled when a member purchases a new membership.

Filter Hook: Controls whether to enable Stripe Lite, which only shows minimal Billing Fields (no address fields, no card type). Overrides “Show Billing Address Fields” in Memberships > Payment Settings.

Filter Hook: Filters the “description” value passed to the charge on the initial payment in Stripe.

Filter Hook: Filter the parameters used to create the payment intent in Stripe.

Filter Hook: Display the Stripe API Settings (Legacy) section so sites can add manually add their live or test mode Publishable Key and Secret Key. This allows sites to use the API Key method to set up their Stripe payment gateway in Paid Memberships Pro if they are not able to use Stripe Connect in their location (more...)

Filter Hook: Optionally prevent the Payment Request Button price from being automatically updated when fields are changed at checkout.

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

Filter Hook: Filter to modify the Stripe webhook events that are enabled and required for the Stripe integration.

Filter Hook: Use this filter to change the location of the gateway log target file.

Filter Hook: This filter is used by PMPro to verify that your Stripe webhook is configured. Most Stripe accounts will not have more than the default number (10) webhooks set up in their account. If your Stripe account has more than ten webhooks, use this filter to increase the number of webhooks to retrieve from your Stripe (more...)

Filter Hook: Modify the MemberOrder object before actually creating a subscription in the payment gateway. This passes the MemberOrder obejct and PMProGateway object. apply_filters( 'pmpro_subscribe_order', MemberOrder $order, $this );

Filter Hook:

Filter Hook: Modifies the tax associated with an order. Passes the tax amount, an array of values such as the price of the order and more, and the MemberOrder object.

Filter Hook: Filter to modify the test order data primarily used for sending test email from the Memberships > Settings > Email Templates page in the WordPress admin.

Filter Hook: Run formatting filters before displaying the content of your “Terms of Service” page at checkout. `/** * Hook to run formatting filters before displaying the content of your “Terms of Service” page at checkout. * * @since 2.4.1 * * @param string $pmpro_tos_content The content of the post assigned as the Terms of Service page. (more...)

Filter Hook: Allow filtering the total number of recent members to show in the /recent_memberships PMPro endpoint.

Filter Hook: Use this filter to change the location of the gateway log target file.

Filter Hook: For TwoCheckout only. Modifies the entire query string passed to the TwoCheckout checkout URL.

Filter Hook: For TwoCheckout only. Add additional parameteres to the TwoCheckout checkout URL in the form of an array of arrays of name-value pairs with the format array('name' => 'value').

Filter Hook: Filter to modify the args passed to the custom user taxonomy registered by custom User Fields code. Refer to the WordPress documentation on the register_taxonomy function for a list of supported arguments.

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.

Filter Hook: Change the default location for the signup page, including the levels page or the default WordPress multisite page for multisite networks.

Filter Hook: This filter is the same as the WordPress core filter. PMPro