Paid Memberships Pro gives you the flexibility to build the membership site that fits your specific needs and goals. Not only can you set up standard membership levels—you can also offer specific content areas that customers can purchase individually.
This tutorial walks through a code recipe that allows you to sell access to post categories à la carte during the checkout process. Using custom user fields and price adjustments, you can increase revenue by offering optional content at checkout that apply to both initial and recurring charges.

Understanding the Code
One key part of this recipe is how it updates the membership cost based on the categories a member selects during checkout. The pmpro_checkout_level
filter modifies both the initial payment and recurring billing amount by checking if specific fields (like cooking
, baking
, or crafts
) were selected.
Each time a checkbox is checked, the code adds the corresponding amount to the membership’s total price. The price adjustment happens automatically based on what the member chooses. This adjustment can be one-time or recurring.
About the Code Recipe
This recipe is ideal for membership sites that want to offer optional, paid access to certain categories of content. For example, you might run a site with tutorials in multiple subjects—like cooking, baking, or crafts—and want members to be able to choose and pay for just the topics they’re interested in.
Before implementing the recipe:
- Make sure the post categories you’re selling do not have any membership restrictions set in the Categories > Edit screen.
This code recipe will be creating user fields for each category, adjusting the price and access to the category after checkout. content restrictions. The adjusted price can apply to the initial payment, recurring payments, or both.

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.
There are a lot of places where you can customize this recipe, such as:
- Updating labels shown at checkout.
- Changing the categories and slugs.
- Adjusting prices per category.
If you have questions, please open a topic in the support area.
Video Demo: Coding with Sam
Want a No-Code Option?
While this recipe is powerful, there’s also a way to accomplish a similar goal without writing custom code. You can create an additional membership level group with individual levels for each category. Members can hold more than one level and purchase access to different categories à la carte. This approach offers better reporting, easier member management, and more flexibility to cancel or modify purchases.
This no-code setup was also demonstrated in the Coding with Sam session—watch the replay here or check out our documentation on Level Groups.