Skip to main content

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.

AttributeLeft out, it means
productyour first configured product. Takes the numeric Freemius product ID, the product's Freemius slug, or its name
planthe 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
licensesthat plan's lowest numbered licence tier, and unlimited only when the plan has no numbered tier
cycleyour 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"]
AttributeDefaultValues and what it does
productfirst productSee above
planfeatured planSee above
licenseslowest tierA number, or unlimited
cycleyour default cyclemonthly, annual or lifetime. Naming one also pins the price, so a billing cycle toggle leaves it alone
currencyfollows the visitorusd, eur or gbp. Naming one pins the price to it, and the currency toggle leaves it alone
stylesymbolsymbol renders $25; code renders USD 25. In the block this is the Style control, and the block attribute is format
suffixnonenone 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
missingtextWhat to do when the tier does not sell the cycle being shown. text prints why, hide prints nothing
missing_textderivedYour own words in place of the derived "Yearly only". Ignored when missing="hide"
alignnoneleft, center or right. Anything else is ignored
classnoneExtra 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"]
AttributeDefaultValues and what it does
product, plan, licenses, cycle, currencyas [pflp_price]The same four defaults and the same pinning
labelyour site-wide labelThe words on this one button. The site-wide default is Button label, under Buttons on the Settings tab, and starts as "Buy now"
widthnone25, 50, 75 or 100, as a percentage of the block around it, the same four the core Buttons block offers. Anything else is ignored
stylefillfill or outline, the same two styles the core Buttons block offers. In the block this is the Styles panel. Anything else is ignored
missingtexttext puts the reason on the button's own shape; hide renders nothing visible
missing_textderivedYour own words in place of the derived "Yearly only"
alignnoneleft, center or right
classyour site-wide classesExtra CSS classes, added to the ones the button already carries. In the block this is Additional CSS class(es) (className)
idnoneAn 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"]
AttributeDefaultValues and what it does
product, planas aboveNo licence tier and no billing cycle: plan text does not change when either toggle moves
fieldtitletitle, description or trial. Anything else is read as title
fallbacknonePrinted when the field is empty at Freemius
alignnoneleft, center or right
classnoneExtra CSS classes (className in the block)

[pflp_features]​

[pflp_features plan="b2" show_description="1"]
AttributeDefaultValues and what it does
product, planas above
show_descriptionoff1, true, yes or on prints each feature's description under its title. In the block this is the Show descriptions toggle (showDescription)
alignnoneleft, center or right
classnoneExtra 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"]
AttributeDefaultValues and what it does
productas aboveNo plan, licence tier or cycle: a release belongs to the product. Inside a card, the card's product
showversion,requires,testedAny 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_formatyour site's date formatA PHP date format for the date part, such as j F Y (Date format in the block, dateFormat)
alignnoneleft, center or right
classnoneExtra 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"]
AttributeDefaultValues and what it does
productas aboveInside a card, the card's product
textemptyYour 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
alignnoneleft, center or right
classnoneExtra 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]
AttributeDefaultValues and what it does
productthe first configured productWhich product this card is about. Everything inside it that names no product follows this
planyour headline planThe 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
licensesthat plan's lowest tierThe licence tier this card is about, a number or unlimited. Same again
featuredautoauto, 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_colornoneThe 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_widthnoneThe border's width, 0 to 20. A whole number of pixels, or a decimal number of rem
radiusnoneThe corner radius, 0 to 200, px or rem
paddingnoneThe space inside the card, 0 to 200, px or rem
backgroundnoneThe card's background, same values as border_color
colorinheritedThe text colour inside the card, same values
shadownonenone or soft. In the block this is core's own Shadow panel, which offers your theme's shadows
widthfills its containerThe widest the card may be, 0 to 2000, px or rem. In the block this is Width
gapnoneThe space between the things inside the card, 0 to 200, px or rem. In the block this is Block spacing under Dimensions
alignnoneleft, 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
classnoneExtra CSS classes (className in the block)
idnoneAn 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"]
AttributeDefaultValues and what it does
productfirst productWhich product's currencies to offer
stylenonepills, 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_colortheme's ownThe text colour of the chosen option. A hex value or a var(--something); anything else is ignored
active_backgroundtheme's ownThe background of the chosen option, same values
gapper styleThe space between the options in pixels, 0 to 64. The block's Gap slider offers 0 to 32
sizeregularsmall, regular or large
alignnoneleft, center or right
classnoneExtra CSS classes (className in the block)

[pflp_cycle]​

[pflp_cycle badge="1" style="pills"]
AttributeDefaultValues and what it does
productfirst productWhich product's billing cycles to offer
defaultyour default cyclemonthly, 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
labelsyour site-wide labelsYour 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
badgeoff1, 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_textSave {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, classas [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​

SettingDefaultWhat it does
Button labelBuy nowThe 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.

SettingDefaultWhat it does
StyleUnchangedThe look every toggle takes: Pills, Buttons, Tabs, Text or Switch. Unchanged leaves them as plain buttons your theme styles
Colours (in Toggle colours, folded)emptyA 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.

SettingDefaultWhat it does
Border colouremptyThe 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 widthemptyHow 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 radiusemptyHow round every card's corners are, 0 to 200 pixels
PaddingemptyThe space between a card's border and what is inside it, 0 to 200 pixels
BackgroundemptyThe colour behind every card. A background chosen on a card itself, including one from your theme's palette, is kept
ShadowNoneThe 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.

SettingDefaultWhat it does
Shadow colouremptyThe 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 lift0How 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 shadowNoneThe 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.

SettingDefaultWhat it does
Button classesnoneExtra CSS classes on every buy button
Hover lift0How far a button rises under the pointer, 0 to 6 pixels. 0 is none
Hover shadowNoneThe shadow it takes with it: None, Soft or Strong. Both apply on screens 1025px and wider only
Shadow colouremptyThe 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.

SettingDefaultWhat it does
Border widthempty0 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
ColoursemptyA 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.

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.

GroupSettingDefaultWhat it does
CardBorder colouremptyThe border colour a featured card takes in place of its own
CardBorder widthemptyIn pixels, 0 to 20
CardBackgroundemptyThe colour a featured card is filled with
CardText colouremptyThe 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
CardShadowSoftUnchanged, None, Soft or Strong
CardShadow colouremptyThe 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
CardLiftoffRaises a featured card above the ones beside it
BadgePositionStripStrip (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)
BadgeBadge textMost popularThe words on the badge
Badge styleSizeMediumSmall, Medium or Large. Large is about 13px on a 16px card
Badge styleIconNo iconA shape before the words, drawn in the badge text colour: star, sparkles, bolt, crown, award, trophy, heart, flame or tick
Badge styleBackgroundthe card's text colourThe colour the badge is filled with
Badge styleText colourthe card's backgroundThe colour of the words on it
ButtonBorder widthemptyThe 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
ButtonColoursemptySix 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.