| 开发者 | plugupp |
|---|---|
| 更新时间 | 2026年9月27日 22:11 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[pflp_card] is the same box as a shortcode, wrapping whatever you put between its tags. A row of cards side by side stays an ordinary Columns or Grid block, because WordPress is already good at that.[pflp_plan] renders its title, its description or its free trial, and [pflp_features] renders its feature list, so nothing on a pricing card is typed twice.[pflp_price] does the same thing as a shortcode, for page builders, the classic editor, widget areas and template files. The blocks and the shortcodes are the same code, so the two can never drift apart, and an existing shortcode converts to a block in one click.[pflp_button] renders a buy button linking to the hosted checkout for that same row, built the way WordPress builds its own Button block so your theme's button styling applies to it. It comes in two kinds, Filled and Outlined, the same two the core Buttons block offers and built the same way, and each kind has its own colours on the Settings screen.[pflp_cycle] renders a billing cycle toggle and [pflp_currency] a currency toggle, each with five styles, a size, a gap and an active colour, and each rendering nothing at all where there is only one option to offer./month and /year set once on the Settings screen and following the toggle, or your own words. It is off unless you ask for it, so nothing already published changes.[pflp_price] and [pflp_button] with nothing at all render your headline price and the checkout that sells it, so the shortest thing you can type is already the right one.[pflp_release] show the latest release Freemius holds for the product: its version, what it requires and what it is tested up to, and its release date if you ask for it. Freemius money-back and [pflp_moneyback] show the money-back guarantee set in the dashboard. Both show nothing at all where Freemius holds nothing, rather than a typed stand-in that would go stale.wp-content/plugins/, then activate it.No. Pages read the prices from your own database, and your server never calls Freemius while a visitor is waiting. A stale copy renders as it is and schedules a background refresh.
With the webhook registered, within seconds. Without it, within the Refresh after interval on the Settings screen, which starts at 15 minutes, and at worst within a day on a page nobody visits.
The last prices fetched stay on your pages indefinitely, and an admin notice tells you the refresh is failing. Nothing goes blank and nothing invents a figure.
No. Saving a product with a working token registers it with Freemius for you, and every later save checks it. Where Freemius has not enabled webhooks for a product yet (it reserves them until a product is actively selling), the save is still complete and the Status card says so rather than blaming the token; every later save tries again.
No. This plugin talks to the Freemius API directly and depends on no other plugin. The two run side by side happily. The only thing this one does to the rest of your page is add the visitor's currency to links pointing at the Freemius checkout, whoever made them, and open them in the overlay if you have chosen it.
In the Freemius dashboard: the product, then Settings, then Keys. It is stored in your site's settings, shown masked, never written to the log, and sent nowhere but api.freemius.com over HTTPS from your server. The product secret key, which proves a webhook genuine, is read with it, so there is nothing else to copy.
The ones the Freemius pricing API returns: USD, EUR and GBP. The plugin never converts a price, so a currency a plan has no row in is never offered for it, and the currency toggle does not render at all where there is only one.
No. Every attribute on every shortcode is optional, and the shortest form is the right one: [pflp_price] renders your headline price and [pflp_button] links to the checkout that sells it. Left out, plan means the plan Freemius marks as featured, licenses means that plan's lowest numbered tier, and cycle means your default cycle where the tier sells it. An attribute you do write is never second-guessed.
Yes. Add each one under Freemius Pricing, Products, then name one with product="12345", or with its Freemius slug or name. The first product configured is used when a shortcode names none.
The name comes with the prices on every fetch, and Freemius sends no webhook for a rename, so it follows on the next refresh, or straight away if you press Refresh now or save the product.
Nothing from this plugin: a plan with no price has no figure to show and no checkout to link to, so the block's Plan dropdown does not offer it and a shortcode naming it renders nothing. For the free tier of a pricing table, use an ordinary button, the core Buttons block or your theme's, linking to the plugin's download page. That link is a fixed fact rather than a live price, so there is nothing to keep current.
Both, and they are the same code, so they can never disagree. Nine blocks under Widgets in the inserter (Freemius pricing card, price, buy button, plan text, plan features, currency toggle, billing cycle toggle, release and money-back), and the pricing card again under Freemius in the Patterns tab, ready sized and bordered. Each block renders your headline row as soon as it is inserted, and its dropdowns offer only the combinations your product sells. A Shortcode block converts to the matching block in one click, and the block type menu converts it back; styling set in the editor's own panels is inline CSS and cannot travel to a shortcode, which the editor says once.
Yes, and it is built for it. Every price is written into the page in all of its currencies and all of its billing cycles, and both swaps happen in the visitor's own browser with no request back to your server, so a cached page is the same page for everyone.
Only if you want it to. [pflp_button] renders one for any plan, licence tier and billing cycle, with four widths, two kinds of button, Filled and Outlined, and the wp-element-button class WordPress gives its own buttons. A button you built yourself works just as well: the plugin adds the visitor's currency to any link pointing at the Freemius checkout, and can open it in an overlay.
Yes. The Freemius release block, or [pflp_release], shows the latest version released on Freemius, what it requires and what it is tested up to, and the Freemius money-back block, or [pflp_moneyback], shows the guarantee set in the dashboard, named after its refund policy. Both update when you release or change them, the same way prices do. A product with no releases on Freemius, such as an app, shows no release line at all, and a product with no money-back period shows no guarantee: there is no typed fallback, because a typed version is the copy that goes stale.
The price says so, "Yearly only", built from the cycles that tier does sell in your own words for them, and the buy button keeps its shape and says the same rather than linking to a checkout that cannot sell it. It never falls back to a nearby figure and never prints a zero. missing="hide" prints nothing instead, and cycle="annual" pins a card to its own figure so a toggle leaves it alone.
The Freemius platform. Your server reads your prices from https://api.freemius.com/v1/products/{product ID}/pricing.json, with the money-back period in the same answer, and the latest release from .../tags/latest.json, sending the product ID and your API Bearer Authorization Token and nothing else, and only when you refresh, test a token, receive a webhook or a scheduled refresh runs. The visitor's browser calls https://checkout.freemius.com/geo.json to work out which currency to show, sending nothing beyond the request itself, and caching the answer for an hour. If you turn on overlay checkout, the visitor's browser also loads the checkout script from https://checkout.freemius.com/js/v1/; with the default hosted checkout it does not. Webhooks run the other way, inbound from Freemius to your site, and each one is verified by both a generated URL key and a body signature. Nothing about your visitors is ever sent to Freemius by your server. Freemius terms: https://freemius.com/terms/ . Freemius privacy policy: https://freemius.com/privacy/ .