Browse the database of various hooks and filters available in Paid Memberships Pro. Select a hook or filter to view detailed information, examples, blog posts, and code recipes (Core and Plus Members only).


Show Hooks and Filters in:


pmpro_account_bullets_bottom

Action Hook: Use this hook to add extra list items to the Profile section on the Membership Account page, below Email Address.


pmpro_account_bullets_top

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


pmpro_activation

Action Hook:


pmpro_added_order

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


pmpro_add_order

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


pmpro_after_change_membership_level

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).


pmpro_after_checkout

Action Hook: Use this hook to execute custom code after a user checks out, before any emails are sent. This hook passes user ID of the WordPress user.


pmpro_after_membership_level_profile_fields

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


pmpro_after_members_list_csv_export

Action Hook:


pmpro_after_order_csv_export

Action Hook:


pmpro_after_order_settings

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


pmpro_after_pmpmailer_init

Action Hook:


pmpro_after_require_membership_metabox

Action Hook:


pmpro_after_set_current_user

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.


pmpro_applydiscountcode_return_js

Action Hook: Since 1.7.10 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.


pmpro_before_authnet_silent_post

Action Hook: The pmpro_authnet_silent_post_fields filter and pmpro_before_authnet_silent_post and pmpro_after_authnet_silent_post hooks are passed the $fields variable built at the top of the Authorize.net Silent Post script that mirrors the $_REQUEST array.


pmpro_before_change_membership_level

Action Hook:


pmpro_before_members_list_csv_export

Action Hook:


pmpro_before_order_list_csv_export

Action Hook:


pmpro_before_send_to_paypal_standard

Action Hook: This is executed at checkout before calling the sendToPayPal method on the order. The register helper plugin has been updated to update user meta fields during this hook in addition to the pmpro_after_checkout hook. (Because for PayPal Standard, when pmpro_after_checkout is called, the $_SESSION vars are unavailable to it. So other plugins relying on the pmpro_after_checkout hook may have issues with PayPal Standard.)


pmpro_before_send_to_twocheckout

Action Hook: Execute code before sending the order to 2Checkout. This hook passes the user ID of the order’s customer and the MemberOrder object.


pmpro_checkout_after_billing_fields

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


pmpro_checkout_after_captcha

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


pmpro_checkout_after_email

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


pmpro_checkout_after_form

Action Hook:


pmpro_checkout_after_level_cost

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


pmpro_checkout_after_password

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


pmpro_checkout_after_payment_information_fields

Action Hook:


pmpro_checkout_after_pricing_fields

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


pmpro_checkout_after_tos_fields

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


pmpro_checkout_after_username

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


pmpro_checkout_after_user_fields

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


pmpro_checkout_before_change_membership_level

Action Hook:


pmpro_checkout_before_processing

Action Hook:


pmpro_checkout_before_submit_button

Action Hook: Use this hook to add extra fields to the checkout page or execute custom code immediately before the Submit button.


pmpro_checkout_boxes

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


pmpro_checkout_preheader

Action Hook:


pmpro_deactivation

Action Hook:


pmpro_delete_discount_code

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.


pmpro_delete_membership_level

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.


pmpro_delete_order

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


pmpro_discountcodes_extra_cols_body

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.


pmpro_discountcodes_extra_cols_header

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.


pmpro_discount_code_after_level_settings

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


pmpro_discount_code_after_settings

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


pmpro_getfile_before_error

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.


pmpro_getfile_before_readfile

Action Hook:


pmpro_get_recurring_payments_profile_details_nvpstr

Action Hook: Change or add parameters to an name-value-pair string sent to PayPal when trying to get subsription details in some cases. Passes the nvpString and order object.


pmpro_invoice_bullets_bottom

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


pmpro_invoice_bullets_top

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


pmpro_membership_level_after_other_settings

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.


pmpro_membership_post_membership_expiry

Action Hook:


pmpro_membership_pre_membership_expiry

Action Hook:


pmpro_memberslist_extra_cols_body

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.


pmpro_memberslist_extra_cols_header

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.


pmpro_member_action_links_after

Action Hook:


pmpro_member_action_links_before

Action Hook:


pmpro_member_links_bottom

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


pmpro_member_links_top

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


pmpro_orders_extra_cols_body

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.


pmpro_orders_extra_cols_header

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


pmpro_payment_option_fields

Action Hook:


pmpro_paypalexpress_session_vars

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


pmpro_save_discount_code

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


pmpro_save_discount_code_level

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


pmpro_save_membership_level

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


pmpro_stripe_subscription_deleted

Action Hook: Execute custom code when a subscription is cancelled on Stripe’s end.


pmpro_subscription_cancelled

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


pmpro_subscription_expired

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


pmpro_subscription_ipn_event_processed

Action Hook:


pmpro_subscription_payment_completed

Action Hook: For PayPal and TwoCheckout only. Execute custom code before saving a successful order.


pmpro_subscription_payment_failed

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


pmpro_subscription_payment_went_past_due

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


pmpro_updated_order

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


pmpro_update_order

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


besecure

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.


excerpt_length

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.


plugin_action_links_{$plugin_file}

Filter Hook:


plugin_locale

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


plugin_row_meta

Filter Hook:


pmpro_account_preheader_no_user_redirect

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.


pmpro_account_preheader_redirect

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.


pmpro_after_authnet_silent_post

Filter Hook: The pmpro_authnet_silent_post_fields filter and pmpro_before_authnet_silent_post and pmpro_after_authnet_silent_post hooks are passed the $fields variable built at the top of the Authorize.net Silent Post script that mirrors the $_REQUEST array.


pmpro_ajax_timeout

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.


pmpro_assigned_{$role}_capabilities

Filter Hook:


pmpro_authnet_silent_post_fields

Filter Hook: The pmpro_authnet_silent_post_fields filter and pmpro_before_authnet_silent_post and pmpro_after_authnet_silent_post hooks are passed the $fields variable built at the top of the Authorize.net Silent Post script that mirrors the $_REQUEST array.


pmpro_authorizenet_post_url

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.


pmpro_besecure

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.


pmpro_cancel_previous_subscriptions

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.


pmpro_checkout_confirmed

Filter Hook:


pmpro_checkout_confirm_email

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).


pmpro_checkout_confirm_password

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).


pmpro_checkout_default_submit_button

Filter Hook:


pmpro_checkout_end_date

Filter Hook:


pmpro_checkout_level

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


pmpro_checkout_new_user_array

Filter Hook:


pmpro_checkout_oldemail

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.


pmpro_checkout_order

Filter Hook:


pmpro_checkout_order_free

Filter Hook:


pmpro_checkout_signon_secure

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


pmpro_checkout_start_date

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


pmpro_check_discount_code

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.


pmpro_check_discount_code_levels

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.


pmpro_check_status_after_checkout

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.


pmpro_confirmation_message

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.


pmpro_confirmation_order_status

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


pmpro_confirmation_url

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.


pmpro_countries

Filter Hook: This hook allows you to modify the default list of countries used by PMPro.


pmpro_create_recurring_payments_profile_nvpstr

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


pmpro_currencies

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.


pmpro_custom_advanced_settings

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.


pmpro_cybersource_wsdl_url

Filter Hook: This filter changes the WSDL URL used by the CyberSource gateway. It also passes the gateway environment (live or test/sandbox).


pmpro_deactivate_old_levels

Filter Hook:


pmpro_default_country

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.


pmpro_default_currency

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.


pmpro_discount_code_level

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


pmpro_docs_url

Filter Hook:


pmpro_do_express_checkout_payment_nvpstr

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


pmpro_edit_member_capability

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.


pmpro_email_attachments

Filter Hook: Add email attachments to the PMPro emails.


pmpro_email_body

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.


pmpro_email_custom_template_path

Filter Hook: Add additional template directories to search when loading email templates. The hook should return an array of directory strings. Elements at the end of the array are search first. Elements at the start of the array will be searched last. The default locations searched are (in order): * /wp-content/themes/{your-theme}/paid-memberships-pro/email/ * /wp-content/themes/{your-parent-theme}/paid-memberships-pro/email/ * /wp-content/plugins/paid-memberships-pro/email/


pmpro_email_data

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.


pmpro_email_days_before_expiration

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


pmpro_email_days_before_trial_end

Filter Hook:


pmpro_email_field_type

Filter Hook:


pmpro_email_filter

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


pmpro_email_headers

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


pmpro_email_recipient

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


pmpro_email_sender

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


pmpro_email_sender_name

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.


pmpro_email_subject

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


pmpro_email_template

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.


pmpro_euro_position

Filter Hook:


pmpro_extra_page_settings

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 one parameter and add elements to it where the key is a unique name for the page (a slug) and the value is a readable label for the page (a title).


pmpro_field_classes

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.


pmpro_formatted_address

Filter Hook:


pmpro_format_phone

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


pmpro_format_price

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


pmpro_gateways

Filter Hook:


pmpro_gateways_with_pending_status

Filter Hook:


pmpro_getfile_extension_blacklist

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.


pmpro_get_addons_timeout

Filter Hook:


pmpro_get_express_checkout_details_nvpstr

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. apply_filters("pmpro_get_express_checkout_details_nvpstr", string $nvpStr, MemberOrder $order);apply_filters("pmpro_get_express_checkout_details_nvpstr", string $nvpStr, MemberOrder $order);


pmpro_get_gateway

Filter Hook:


pmpro_get_membership_levels_for_user

Filter Hook:


pmpro_get_membership_level_for_user

Filter Hook:


pmpro_has_membership_access_filter

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.


pmpro_has_membership_access_filter_{post_type}

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.


pmpro_has_membership_level

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().


pmpro_hide_billing_address_fields

Filter Hook:


pmpro_hide_payment_information_fields

Filter Hook:


pmpro_include_billing_address_fields

Filter Hook:


pmpro_include_cardtype_field

Filter Hook:


pmpro_include_payment_information_fields

Filter Hook:


pmpro_include_payment_option_for_paypal

Filter Hook:


pmpro_inshandler_level

Filter Hook:


pmpro_international_addresses

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”.


pmpro_ipnhandler_level

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


pmpro_ipn_check_receiver_email

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.


pmpro_ipn_validate

Filter Hook:


pmpro_is_level_expiring_soon

Filter Hook:


pmpro_is_ready

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.


pmpro_levels_array

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


pmpro_levels_cost_text

Filter Hook:


pmpro_levels_expiration_text

Filter Hook:


pmpro_level_cost_text

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.


pmpro_level_description

Filter Hook:


pmpro_level_expiration_text

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 is prepopulated with levels pricing and expiration settings already adjusted for any discount codes that may be in affect.


pmpro_license_check_key_timeout

Filter Hook:


pmpro_list_categories_args

Filter Hook:


pmpro_login_redirect

Filter Hook: Controls whether or not to redirect the default Registration page to the PMPro Levels page. Passing false will not redirect.


pmpro_login_redirect_url

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


pmpro_longform_address

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.


pmpro_manage_recurring_payments_profile_status_nvpstr

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.


pmpro_membership_access_post

Filter Hook:


pmpro_membership_content_filter_disallowed_levels

Filter Hook:


pmpro_membership_levels_table

Filter Hook:


pmpro_memberslist_calculate_revenue

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.


pmpro_memberslist_csv_dateformat

Filter Hook:


pmpro_memberslist_expires_column

Filter Hook:


pmpro_memberslist_per_page

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


pmpro_memberslist_user_row_actions

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’)


pmpro_members_list_csv_default_columns

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").


pmpro_members_list_csv_extra_columns

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


pmpro_members_list_csv_heading

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


pmpro_members_list_sql

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


pmpro_members_list_user

Filter Hook:


pmpro_members_list_user_link

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.


pmpro_member_startdate

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


pmpro_new_user

Filter Hook:


pmpro_next_payment

Filter Hook:


pmpro_non_member_text_filter

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


pmpro_not_logged_in_text_filter

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 > Advanced Settings page.


pmpro_orders_csv_export_filename

Filter Hook:


pmpro_orders_csv_extra_columns

Filter Hook: Use this hook to add extra columns to the Orders CSV export. Passes an array of column data with the format array("heading", callback).


pmpro_orders_per_page

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


pmpro_orders_read_only_fields

Filter Hook: Modifies the array of fields which are readonly on the Orders page. Passes an array with the format array("code", "payment_transaction_id", "subscription_transaction_id").


pmpro_orders_search_fields

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


pmpro_orders_search_usermeta

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).


pmpro_orders_show_affiliate_ids

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


pmpro_orders_user_row_actions

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’)


pmpro_order_discount_code

Filter Hook:


pmpro_order_list_csv_dateformat

Filter Hook:


pmpro_order_list_csv_default_columns

Filter Hook:


pmpro_order_list_csv_export_header_array

Filter Hook:


pmpro_order_list_csv_export_tmp_dir

Filter Hook:


pmpro_order_list_csv_extra_columns

Filter Hook:


pmpro_order_statuses

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.


pmpro_pages_custom_template_path

Filter Hook: Add additional template directories to search when loading page templates. The hook should return an array of directory strings. Elements at the end of the array are search first. Elements at the start of the array will be searched last. The default locations searched are (in order): * /wp-content/themes/{your-theme}/paid-memberships-pro/pages/ * /wp-content/themes/{your-parent-theme}/paid-memberships-pro/pages/ * /wp-content/plugins/paid-memberships-pro/pages/


pmpro_pages_shortcode_ . $pmpro_page_name

Filter Hook:


pmpro_pages_shortcode_checkout

Filter Hook:


pmpro_pages_shortcode_{pagename}

Filter Hook: Filters the HTML content generated by the PMPro page shortcodes such as [pmpro_checkout]. This can be used to create custom page templates in a customizations plugin as described here. The pages are “account”, “billing”, “cancel”, “checkout”, “confirmation”, and “levels”.


pmpro_payflow_authorize_nvpstr

Filter Hook:


pmpro_payflow_cancel_nvpstr

Filter Hook:


pmpro_payflow_charge_nvpstr

Filter Hook:


pmpro_payflow_subscribe_nvpstr

Filter Hook:


pmpro_payflow_update_nvpstr

Filter Hook:


pmpro_payflow_void_nvpstr

Filter Hook:


pmpro_payment_options

Filter Hook:


pmpro_paypal_account_optional

Filter Hook:


pmpro_paypal_button_image

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


pmpro_paypal_express_return_url_parameters

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


pmpro_paypal_level_description

Filter Hook:


pmpro_paypal_standard_nvpstr

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.


pmpro_processing_message

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.


pmpro_profile_show_expiration

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


pmpro_profile_show_membership_level

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


pmpro_profile_start_date

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.


pmpro_random_code

Filter Hook: Filters how random codes are generated for invoices, discount codes, etc. Passes the code and order object.


pmpro_recaptcha_lang

Filter Hook:


pmpro_register_redirect

Filter Hook: Filters the URL PMPro redirects wp-login.php?action=register to. Returning false or an empty string will result in no redirect from the register page.


pmpro_registration_checks

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.


pmpro_reports_get_cancellations_sql

Filter Hook:


pmpro_reports_signups_sql

Filter Hook:


pmpro_required_billing_fields

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


pmpro_required_user_fields

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


pmpro_require_javascript_for_checkout

Filter Hook:


pmpro_rss_text_filter

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.


pmpro_search_filter_post_types

Filter Hook: Allows you to add additional post types to the Memberships > Advanced Settings > Filter Searches and Archives? functionality. apply_filters( 'pmpro_search_filter_post_types', array $post_types );apply_filters( 'pmpro_search_filter_post_types', array $post_types );


pmpro_send_checkout_emails

Filter Hook:


pmpro_send_credit_card_expiring_email

Filter Hook:


pmpro_send_expiration_email

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


pmpro_send_expiration_warning_email

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


pmpro_send_trial_ending_email

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


pmpro_setup_new_user

Filter Hook:


pmpro_set_express_checkout_nvpstr

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.


pmpro_set_max_orders_per_export_loop

Filter Hook:


pmpro_set_max_user_per_export_loop

Filter Hook:


pmpro_set_message

Filter Hook:


pmpro_show_cvv

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


pmpro_show_discount_code

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.


pmpro_skip_account_fields

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 logged in a username and password will be automatically generated for the new user after checkout.


pmpro_states

Filter Hook: Filters the default Array of states when not using the international version (basic text field) on the checkout page.


pmpro_states_abbreviations

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.


pmpro_state_dropdowns

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.


pmpro_stripe_create_customer

Filter Hook:


pmpro_stripe_create_plan_array

Filter Hook:


pmpro_stripe_create_subscription_array

Filter Hook: Filter the subscription array sent to Stripe when creating a subscription.


pmpro_stripe_lite

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.


pmpro_stripe_verify_address

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


pmpro_subscribe_order

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);apply_filters("pmpro_subscribe_order", MemberOrder $order, $this);


pmpro_support_url

Filter Hook:


pmpro_tax

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.


pmpro_twocheckout_ptpstr

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


pmpro_twocheckout_return_url_parameters

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').


pmpro_twocheckout_validate

Filter Hook:


pmpro_valid_gateways

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.


pmpro_wp_new_user_notification

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.


pmpro_{$type}_custom_template_path

Filter Hook:


the_content

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