Use the [pmpro_advanced_levels] shortcode to display your membership levels with the same layouts and options as the block. This page lists every shortcode attribute with its accepted values and default.
Shortcode Example
Add the shortcode to any page or post. With no attributes, it shows all levels that allow new signups in the Div layout. This example shows three levels in columns, highlights level 5, and changes the button text:
[pmpro_advanced_levels levels="1,5,7" layout="3col" highlight="5" checkout_button="Join Now"]
Each block setting has a matching attribute, so you can switch between the block and the shortcode without changing the result. The account_button attribute is only available in the shortcode. See Block Settings for the block equivalents.
Shortcode Attributes
| Attribute | Accepted Values | Default | Description |
|---|---|---|---|
account_button | Any text | Your Level | Button text shown to a member for a level they already have (and that is not expiring soon). The button links to the Membership Account page. |
back_link | true or false | true | Show the “Return to Your Account” link for members or the “Return to Home” link for everyone else below the levels. |
checkout_button | Any text | Select | Button text that links to checkout for the level. |
compare | Comparison rows | None | Feature rows for the compare_table layout. See Build a Membership Comparison Table. |
description | true or false | true | Show the level description. |
discount_code | A discount code | None | Show discounted pricing for each level the code is valid for and add the code to that level’s checkout link. |
expiration | true or false | true | Show the level expiration. Levels with no expiration show “Membership never expires.” |
highlight | A single level ID | None | Adds the pmpro_level-highlight CSS class to this level so your theme can feature it. |
layout | div, 2col, 3col, 4col, table, or compare_table | div | How to display the levels. See Choose a Layout for Your Levels Page. |
levels | Comma-separated level IDs | All levels | The levels to show, in the order listed. When empty, shows every level that allows new signups in the order set on Memberships > Settings > Levels. Levels with new signups disabled are never shown. |
price | short, full, or hide | short | How to display the level price. See Price Display Options. |
renew_button | Any text | Renew | Button text shown to a member whose level is expiring soon. The button links to checkout to renew. |
For the true/false attributes, the values false, 0, and no turn the option off. Any other value turns it on. The price attribute also accepts false or 0 to hide the price.
Apply a Discount Code From the URL
If the shortcode or block doesn’t set a discount code, the Add On checks the page URL for a discount_code parameter. This lets you share a link to your levels page that shows discounted pricing, for example:
/membership-levels/?discount_code=SPRING
A discount code set in the shortcode or block always takes priority over the URL.
More Examples
Show two levels in a table without the price column:
[pmpro_advanced_levels levels="5,7" layout="table" price="hide"]
Show the full price text with a discount code applied, and hide the back link:
[pmpro_advanced_levels layout="2col" price="full" discount_code="SPRING" back_link="false"]
Change the text on all three button states:
[pmpro_advanced_levels layout="4col" checkout_button="Join Now" renew_button="Renew Now" account_button="Current Plan"]
Get Support From Our Team of Experts
Have a question about how to use this feature? Our Support Page outlines three ways to get support.
Our Max plans include hands-on help customizing your membership site and implementing new features. Upgrade to PMPro Max now »
Last updated on November 9, 2026

