The terms membership and subscription are often used interchangeably. However, they represent two different business models

Depending on your target audience location, your location, and your business type, the word subscription could be more appropriate for you. 

This code recipe uses the WordPress gettext filter to replace the word membership to subscription throughout the Paid Memberships Pro Plugin.

Banner Image Change the Wording ‘Membership’ to ‘Subscription’ for Paid Memberships Pro

Understanding gettext

This code recipe uses the gettext and ngettext filters in WordPress. These are two powerful filters that let you override translatable text across your site.

What is gettext?

In WordPress, any text that’s marked for translation can be filtered before it appears on the page. The gettext filter allows developers to catch that text and swap it out—without editing core files or rewriting templates.

In this recipe, we’re using gettext to:

  • Look for specific words or phrases like “Membership Level” and “membership”.
  • Replace them with “Subscription” when the source of that text is Paid Memberships Pro (paid-memberships-pro or an Add On with a pmpro- text domain).

About the Code Recipe

This customization updates the wording across your site wherever PMPro outputs the word membership, making your terminology more aligned with a subscription-based model. It’s a lightweight, non-invasive method to adapt plugin language to suit your branding or audience expectations.

While PMPro includes “Membership” throughout its UI, this recipe helps you tailor the experience for industries where the term “subscription” feels more natural.

Screenshot of wording change from membership to subscription at checkout example

If neither membership nor subscription fits your site’s needs, you can edit the code by replacing subscription with your preferred label. 

The Code Recipe

Adding the Recipe to Your Website

You can add this recipe to your site by creating a custom plugin or using the Code Snippets plugin available for free in the WordPress repository. Read this companion article for step-by-step directions on either method.

Note: This is not a fool proof method. It is a quick way to modify most plugin-generated text to your needs. If you need to totally overhaul the wording, consider customizing plugin-generated pages or writing your own “translation” file.

To ensure the email variables !!membership_level_name!! are not translated incorrectly when sent, save the email template as-is by navigating to your email templates options. Select the email template and click Save Template.

Video Demo: Coding with Sam

Free Course: Membership Site Development—The Basics

Develop a deeper understanding of membership site development in this beginner-level course. Learn how to make your site work better, save yourself time and money, and improve your site's performance.

Featured Image for Membership Site Development Course: The Basics
Was this article helpful?
YesNo