Skip to main content Scroll Top
How to Hide the Phone Field on PMPro Checkout and Billing Pages

If you’re using Paid Memberships Pro (PMPro) to manage your WordPress membership site and want to simplify your checkout process, removing unnecessary fields like the phone number can help streamline the user experience and increase conversions.

In this post, I’ll show you how to hide the phone field from PMPro’s checkout and billing pages, and also ensure it’s no longer a required field during submission.

Why Hide the Phone Field?

Here are a few common reasons you might want to remove the phone number field from your membership checkout:

  • You don’t need it for your business processes.

  • It slows down the signup process and adds friction.

  • You want to reduce form length and increase conversions.

  • You want to comply with minimal data collection principles (like GDPR).

The Code: Hide and Unset the Billing Phone Field

You can add the following code to your theme’s functions.php file, a code snippet plugin or in a custom plugin:

  // Hide the phone field using inline CSS on checkout and billing pages
function wp_head_hide_billing_fields()
{ global $post, $pmpro_pages; if(empty($pmpro_pages) || (!is_page($pmpro_pages['checkout']) && !is_page($pmpro_pages['billing']))) return;
?>
<style> div.pmpro_form_field.pmpro_form_field-text.pmpro_form_field-bphone {display: none;}
</style>
<?php }
add_action('wp_head', 'wp_head_hide_billing_fields'); // Remove phone from required billing fields
function my_pmpro_required_billing_fields($fields)
{ if(is_array($fields)) { unset($fields['bphone']); } return $fields;
}
add_action('pmpro_required_billing_fields', 'my_pmpro_required_billing_fields');
  

What This Code Does

✅ Hides the Phone Field from View

The wp_head_hide_billing_fields() function injects a small CSS snippet into the <head> of your site, but only on the PMPro checkout and billing pages. The CSS uses a selector specific to the phone number field (.pmpro_form_field-bphone) and hides it using display: none.

✅ Makes the Phone Field Optional

By default, PMPro requires the phone number as part of the billing information. The second function, my_pmpro_required_billing_fields(), removes 'bphone' from the array of required fields — so users can complete checkout without entering it.

Important Notes

  • This only works for standard PMPro billing fields. If you’re using custom fields or add-ons that modify billing forms, some adjustments may be needed.

  • Make sure to test this on a staging site first before pushing changes to your live website.

  • This doesn’t remove the field entirely from the markup — it just hides it and makes it non-required. For full removal, you’d need to use a template override.

Reducing the number of required fields at checkout is one of the easiest ways to improve user experience on your membership site. If you don’t need phone numbers for your workflow, hiding and unsetting the field can simplify your forms and help increase signups.

Let us know if you have any questions or need help customizing this for your setup!

Do you need help?
Let us know the details
Our clients