Reference
Every shortcode, every attribute, every default. One table each.
The blocks take the same settings from dropdowns instead, so this page is the reference for both. Where a block spells one differently, the table says so.
A block writes a two-word attribute in camel case: missing_text is
missingText, show_description is showDescription, active_color is
activeColor, active_background is activeBackground, badge_text is
badgeText and date_format is dateFormat. Four more differ by name: a price's style is format, class is
className, a button's or a card's id is anchor, and a card's align is
placement, because WordPress uses the name align on that block for its own
Wide and Full settings. A toggle's style is not an
attribute at all in a block, it is a block style, written as the class
is-style-pills either way.
Every attribute is optional. Leave one out and the plugin fills it in; write one and it is never second-guessed. The Shortcode builder on a product's own screen writes any of these for you, and says what it renders before you copy it: pick the element, the plan and the Licence tier list on the first row, and the second row offers whatever named choices that element has. Pick Pricing card and it writes the whole card, all six lines at once.
What the shared defaults resolve to
These four are taken the same way by every shortcode that has them.
| Attribute | Left out, it means |
|---|---|
product | your first configured product. Takes the numeric Freemius product ID, the product's Freemius slug, or its name |
plan | the plan Freemius marks as featured, otherwise the first plan that has a price. Takes a plan name, title or numeric id, and is not case-sensitive |
licenses | that plan's lowest numbered licence tier, and unlimited only when the plan has no numbered tier |
cycle | your Default cycle from the Settings screen where that tier sells it, otherwise the first cycle it does sell, trying yearly, then monthly, then lifetime |
[pflp_price]
[pflp_price plan="b2" licenses="3" cycle="annual" suffix="auto"]
| Attribute | Default | Values and what it does |
|---|---|---|
product | first product | See above |
plan | featured plan | See above |
licenses | lowest tier | A number, or unlimited |
cycle | your default cycle | monthly, annual or lifetime. Naming one also pins the price, so a billing cycle toggle leaves it alone |
currency | follows the visitor | usd, eur or gbp. Naming one pins the price to it, and the currency toggle leaves it alone |
style | symbol | symbol renders $25; code renders USD 25. In the block this is the Style control, and the block attribute is format |
suffix | none | none prints nothing after the figure; auto prints your Text after the price setting for whichever cycle is showing; anything else is printed as written for every cycle |
missing | text | What to do when the tier does not sell the cycle being shown. text prints why, hide prints nothing |
missing_text | derived | Your own words in place of the derived "Yearly only". Ignored when missing="hide" |
align | none | left, center or right. Anything else is ignored |
class | none | Extra CSS classes, space separated, added to the ones the span already carries. In the block this is Additional CSS class(es) in the Advanced panel, and the block attribute is className |
Prices has the detail.
[pflp_button]
[pflp_button plan="b2" licenses="3" width="100" label="Buy now"]
| Attribute | Default | Values and what it does |
|---|---|---|
product, plan, licenses, cycle, currency | as [pflp_price] | The same four defaults and the same pinning |
label | your site-wide label | The words on this one button. The site-wide default is Button label, under Buttons on the Settings tab, and starts as "Buy now" |
width | none | 25, 50, 75 or 100, as a percentage of the block around it, the same four the core Buttons block offers. Anything else is ignored |
style | fill | fill or outline, the same two styles the core Buttons block offers. In the block this is the Styles panel. Anything else is ignored |
missing | text | text puts the reason on the button's own shape; hide renders nothing visible |
missing_text | derived | Your own words in place of the derived "Yearly only" |
align | none | left, center or right |
class | your site-wide classes | Extra CSS classes, added to the ones the button already carries. In the block this is Additional CSS class(es) (className) |
id | none | An HTML id. In the block this is the HTML anchor in the Advanced panel, and the block attribute is anchor |
Buy buttons has the detail.
[pflp_plan]
[pflp_plan plan="b2" field="description" fallback="Everything in Personal, for teams"]
| Attribute | Default | Values and what it does |
|---|---|---|
product, plan | as above | No licence tier and no billing cycle: plan text does not change when either toggle moves |
field | title | title, description or trial. Anything else is read as title |
fallback | none | Printed when the field is empty at Freemius |
align | none | left, center or right |
class | none | Extra CSS classes (className in the block) |
[pflp_features]
[pflp_features plan="b2" show_description="1"]
| Attribute | Default | Values and what it does |
|---|---|---|
product, plan | as above | |
show_description | off | 1, true, yes or on prints each feature's description under its title. In the block this is the Show descriptions toggle (showDescription) |
align | none | left, center or right |
class | none | Extra CSS classes (className in the block) |
Plan name, description, trial and features has the detail.
[pflp_release]
The product's latest released version from Freemius, as one line. New in 1.4.0.
[pflp_release show="version,requires,tested,date" separator=" | " date_format="j F Y"]
| Attribute | Default | Values and what it does |
|---|---|---|
product | as above | No plan, licence tier or cycle: a release belongs to the product. Inside a card, the card's product |
show | version,requires,tested | Any of version, requires, tested and date, comma-separated, shown in the order written. A word that is not one of the four is dropped; a list with none of them is the default. In the block this is four Show tick boxes |
separator | · | The text between the parts, spaces included |
date_format | your site's date format | A PHP date format for the date part, such as j F Y (Date format in the block, dateFormat) |
align | none | left, center or right |
class | none | Extra CSS classes (className in the block) |
Renders nothing at all for a product Freemius has no releases for, and leaves out any part Freemius holds no value for, with its separator. There is no fallback text. The release line has the detail.
[pflp_moneyback]
The money-back guarantee Freemius holds for the product. New in 1.4.0.
[pflp_moneyback text="Try it risk-free for %d days"]
| Attribute | Default | Values and what it does |
|---|---|---|
product | as above | Inside a card, the card's product |
text | empty | Your own words, with %d where the number of days goes. Empty names the guarantee after the product's refund policy, such as "30-day satisfaction guarantee" for Moderate, with the period Freemius holds |
align | none | left, center or right |
class | none | Extra CSS classes (className in the block) |
Renders nothing at all, text included, while Freemius holds no money-back
period for the product. The money-back guarantee has
the detail.
[pflp_card]
An enclosing shortcode: what it wraps is what the card holds, and what it holds inherits its product, plan and licence tier. In a block, the look is the card's own panels instead, and the block carries Product, Plan, Licence tier, Featured, Width and Position of its own.
[pflp_card plan="pro" border_color="#e0e0e0" border_width="1" radius="8" padding="2rem" width="320" align="center"]
[pflp_plan]
[pflp_price suffix="auto"]
[pflp_button width="100"]
[/pflp_card]
| Attribute | Default | Values and what it does |
|---|---|---|
product | the first configured product | Which product this card is about. Everything inside it that names no product follows this |
plan | your headline plan | The plan this card is about. Everything inside it that names no plan follows this. A card inserted in the editor fills this in with the plan it would have fallen back to; the shortcode is unchanged and still resolves an empty one at render time |
licenses | that plan's lowest tier | The licence tier this card is about, a number or unlimited. Same again |
featured | auto | auto, yes or no. auto marks the card when its plan is the one Freemius features and the product sells more than one paid plan. How a marked card looks is set on the Featured plan tab under Settings |
border_color | none | The border's colour. A hex value or a var(--something); anything else is ignored. A card given a border colour or width draws a solid border |
border_width | none | The border's width, 0 to 20. A whole number of pixels, or a decimal number of rem |
radius | none | The corner radius, 0 to 200, px or rem |
padding | none | The space inside the card, 0 to 200, px or rem |
background | none | The card's background, same values as border_color |
color | inherited | The text colour inside the card, same values |
shadow | none | none or soft. In the block this is core's own Shadow panel, which offers your theme's shadows |
width | fills its container | The widest the card may be, 0 to 2000, px or rem. In the block this is Width |
gap | none | The space between the things inside the card, 0 to 200, px or rem. In the block this is Block spacing under Dimensions |
align | none | left, center or right: where a card narrower than its container sits. In the block this is Position, and the block attribute is placement, because WordPress uses the name align for the Wide and Full settings on the toolbar |
class | none | Extra CSS classes (className in the block) |
id | none | An HTML id, so a link can point at the card. In the block this is the HTML anchor in the Advanced panel (anchor) |
The whole card, from the builder
The Shortcode builder on a product's screen writes this stack when you choose Pricing card, and it is what to paste into a page builder's shortcode widget or a classic editor:
[pflp_card product="12345" plan="pro" licenses="3"]
[pflp_plan]
[pflp_price suffix="auto"]
[pflp_features]
[pflp_button]
[/pflp_card]
Nothing inside names a product, a plan or a licence tier, because everything inside a card follows the card. Change the plan on the first line and the whole card changes with it.
Do not write a cycle on a card or on anything in it. A cycle fixes the price,
and the billing cycle toggle on the page then leaves that card behind while the
rest of the page changes. The builder switches the Billing cycle choice off for
a card for exactly that reason.
One card is one card. A row of three of them is layout, which a shortcode cannot express: put each card in its own column in your page builder.
The pricing card has the detail.
[pflp_currency]
[pflp_currency style="pills" size="large"]
| Attribute | Default | Values and what it does |
|---|---|---|
product | first product | Which product's currencies to offer |
style | none | pills, buttons, tabs, text or switch. Written as the class is-style-pills and so on, which is what the block's Styles panel sets |
active_color | theme's own | The text colour of the chosen option. A hex value or a var(--something); anything else is ignored |
active_background | theme's own | The background of the chosen option, same values |
gap | per style | The space between the options in pixels, 0 to 64. The block's Gap slider offers 0 to 32 |
size | regular | small, regular or large |
align | none | left, center or right |
class | none | Extra CSS classes (className in the block) |
[pflp_cycle]
[pflp_cycle badge="1" style="pills"]
| Attribute | Default | Values and what it does |
|---|---|---|
product | first product | Which product's billing cycles to offer |
default | your default cycle | monthly, annual or lifetime: which option the page opens on, the block's Cycle shown first. A cycle the product does not sell falls back to the site default, then to the first it does sell |
labels | your site-wide labels | Your own words for this toggle, written as monthly=Per month, annual=Per year. A cycle you leave out keeps the site's word for it |
badge | off | 1, true, yes or on shows the saving on the yearly option, worked out from the prices. In the block this is Show the saving on the yearly option |
badge_text | Save {percent} | The badge's words, the block's Badge text. {percent} is replaced with the figure, for example 17% |
style, active_color, active_background, gap, size, align, class | as [pflp_currency] | The two toggles take the same styling attributes and read them with the same code |
Toggles has the detail.
Site settings
Three tabs of Freemius Pricing, Settings carry settings that reach every card and every button: Settings for what a buy button says, Appearance for how every toggle, card and button looks, and Featured plan. The shortcode and block attributes above always win over these.
Settings most sites never change are folded under their headings, each with a one-line summary of what it holds: click the heading to open it. A folded group that holds a changed setting opens by itself and says how many settings in it are changed. Below, a group marked folded is one of these.
Buttons, on the Settings tab
| Setting | Default | What it does |
|---|---|---|
| Button label | Buy now | The words on every buy button that does not name its own |
Toggles, on the Appearance tab
Every currency and billing cycle toggle at once. Empty means the theme's own, and a toggle that names its own style or colour keeps it.
| Setting | Default | What it does |
|---|---|---|
| Style | Unchanged | The look every toggle takes: Pills, Buttons, Tabs, Text or Switch. Unchanged leaves them as plain buttons your theme styles |
| Colours (in Toggle colours, folded) | empty | A grid with a Normal column and an Active one, and Text and Background rows: every option at rest, and the one a visitor is on. Leave one empty and the style's own stays. A toggle given a colour in the editor's own panel keeps it |
Size and Gap are not here: they are the space one toggle takes on one page, which is layout, so they stay on the block and the shortcode.
Cards, on the Appearance tab
Card defaults come first. On a site that installed this plugin new they
start with the pattern's own values: a 1px #e0e0e0 border, a 16px radius and
2rem of padding. On a site that updated from an earlier version they start
empty, so updating the plugin moved nothing. Empty means unchanged: a card
takes whatever your theme gives a plain box, and an empty length field says
Theme's own. Fill a field and every card on the site takes it - unless
that card says otherwise itself, in its own block panels or as a shortcode
attribute, in which case the card wins. Styling has the
order in full.
| Setting | Default | What it does |
|---|---|---|
| Border colour | empty | The border colour of every card. A hex value or a var(--something). Set a colour and leave the width empty and the border is 1px |
| Border width | empty | How thick that border is, 0 to 20 pixels. Set a width and leave the colour empty and the border takes the card's own text colour |
| Corner radius | empty | How round every card's corners are, 0 to 200 pixels |
| Padding | empty | The space between a card's border and what is inside it, 0 to 200 pixels |
| Background | empty | The colour behind every card. A background chosen on a card itself, including one from your theme's palette, is kept |
| Shadow | None | The shadow every card rests with: None, Soft or Strong. The same three a featured card and a buy button offer |
What a card does under the pointer, and the colour of its shadows, are in Card hover and shadow colour, folded below.
| Setting | Default | What it does |
|---|---|---|
| Shadow colour | empty | The colour a card's shadows are drawn in, both the resting one above and the hover one below. The preset keeps the depth and the softness; only the colour changes. Empty is the neutral black, and with both shadows on None there is nothing to colour |
| Hover lift | 0 | How far every pricing card rises under the pointer, 0 to 6 pixels. 0 is none. A card already raised for being featured rises further rather than dropping |
| Hover shadow | None | The shadow it takes under the pointer: None, Soft or Strong. A featured card keeps its own shadow at rest and takes this one while the pointer is on it. Both apply on screens 1025px and wider only |
Buttons, on the Appearance tab (folded)
What both kinds of buy button share.
| Setting | Default | What it does |
|---|---|---|
| Button classes | none | Extra CSS classes on every buy button |
| Hover lift | 0 | How far a button rises under the pointer, 0 to 6 pixels. 0 is none |
| Hover shadow | None | The shadow it takes with it: None, Soft or Strong. Both apply on screens 1025px and wider only |
| Shadow colour | empty | The colour that shadow is drawn in, the same way it works for a card. Empty is the neutral black |
Filled buttons and Outlined buttons, on the Appearance tab (folded)
A group each, one for each kind of button, with the same two rows. The two never both apply to one button.
| Setting | Default | What it does |
|---|---|---|
| Border width | empty | 0 to 20 pixels. A filled button has no border unless you set a width; empty keeps your theme's, which for an outlined button is your theme's outline where its rule reaches the button and WordPress's 2px outline where it does not. 0 takes the border away. There is no width on hover, because a border that changed under the pointer would move the page |
| Colours | empty | A grid of the Text, Border and Background that kind takes Normal and On hover. A Border colour never creates a width: it colours a border the button already has, from this screen, its own panel or the theme, and on a button with none it changes nothing you can see. An outlined button's Background is empty to start with, which is what makes it outlined; set one for a tint at rest or a fill under the pointer, and its border follows its Text colour until Border is given one. Leave a colour empty and the theme's own stays |
A colour or a width set on the button itself wins over both groups, and a featured card's button has its own Border width and colours on the Featured plan tab, which win over both.
Featured plan, on its own tab
Four groups: Badge (its position and words) first, then Card, Badge style (its size, icon and colours) and Button, folded. Every colour is WordPress's own colour picker, and empty means being featured does not change that property, except for the badge's two, which have defaults because a badge has no colour of its own to keep.
| Group | Setting | Default | What it does |
|---|---|---|---|
| Card | Border colour | empty | The border colour a featured card takes in place of its own |
| Card | Border width | empty | In pixels, 0 to 20 |
| Card | Background | empty | The colour a featured card is filled with |
| Card | Text colour | empty | The colour of the words on a featured card. Set this whenever you set a background: on a dark theme a light background would otherwise keep the light text of the page around it |
| Card | Shadow | Soft | Unchanged, None, Soft or Strong |
| Card | Shadow colour | empty | The colour that shadow is drawn in. The preset keeps the depth and the softness; only the colour changes. Empty is the neutral black. Inert while Shadow is Unchanged or None |
| Card | Lift | off | Raises a featured card above the ones beside it |
| Badge | Position | Strip | Strip (across the top edge), Tab (hanging inside the top border), Inside (above the plan name), Corner (the top right corner), or None (no badge at all) |
| Badge | Badge text | Most popular | The words on the badge |
| Badge style | Size | Medium | Small, Medium or Large. Large is about 13px on a 16px card |
| Badge style | Icon | No icon | A shape before the words, drawn in the badge text colour: star, sparkles, bolt, crown, award, trophy, heart, flame or tick |
| Badge style | Background | the card's text colour | The colour the badge is filled with |
| Badge style | Text colour | the card's background | The colour of the words on it |
| Button | Border width | empty | The featured card's buy button border, 0 to 20 pixels, at rest only. No border unless a width is set here, on the button, or by the theme; 0 takes it away. A width set on the button itself, in its Border panel, wins over this one. The Border colour never creates one. On a site that updated from 1.2.0 with a Border colour set here and no width, this reads 1: the update wrote the 1 pixel border that colour used to draw, so nothing moved |
| Button | Colours | empty | Six pickers: the buy button's text, border and background, each at rest and under the pointer. Applied to the buy button inside a featured card only, on every screen size. The border colour on hover paints the border the button already has, and never adds one |
A product's own screen carries the same four groups, folded the same way, behind an Override the site-wide styling switch, saved with the product.
Values that are ignored rather than printed
align, style, size, missing, field, the card's shadow and the
release line's show words are fixed lists. A value that is
not on the list is dropped and the default is used, so a typo can never put a
class name no stylesheet has into your page, or quietly remove a price. gap
takes a plain number of pixels and the two colour attributes take a hex value or
a CSS custom property; anything else is dropped for the same reason. The card's
lengths are the same rule with a bound on each one: a whole number of pixels or
a decimal number of rem, never negative, and a figure past the bound is
dropped rather than clamped.
The one exception is cycle on a price or a button. A word that is not
monthly, annual or lifetime renders a gap, because it is a typo in the
shortcode rather than a cycle the plan does not sell, and answering it with
"Yearly only" would be answering a question nobody asked.