Skip to main content

[benecaster_qr_code]

Renders a QR code for a subscriber’s private feed URL (type="feed", needs a Benecaster account — Launch and above) or a show’s public signup page (type="signup", free on every plan including unlicensed WordPress.org installs). The type attribute controls which URL is encoded:

type="feed" — subscriber’s private feed URL (default)

Renders a QR code for the current logged-in subscriber’s personal tokenized RSS feed URL. The line it draws is account-versus-no-account, not one plan versus another: private feeds exist from the Launch plan up, and Launch is free, so this works on every plan that has private feeds to encode. What it does not work on is the unlicensed WordPress.org build, which has no private feeds at all.

The code is drawn when the page loads, from the subscriber’s recovered feed URL. When Benecaster can’t recover the URL (a token created before recoverable copies were kept, a changed encryption key, or a server without libsodium), the widget says “Your QR code can’t be shown here, because your feed link can’t be recovered on this site. The link already in your podcast app keeps working.” It recommends nothing, because a reset would replace the feed already in their app. If the subscriber chooses to reset from the [benecaster_feed_url] widget on the same page anyway, the code is drawn once the reset completes. The code grants access exactly as the URL does, so it is only ever shown to its owner.

When the show’s feed has gone dark (most commonly a lapsed license), this renders “This feed is not currently active, so there is no QR code to generate” instead of the placeholder or a code — with no download buttons, since there is nothing to download. A follower’s feed is never dark, so this never applies to a follower’s token.

The shortcode only renders for logged-in WordPress users who have an active feed token for the specified show. In all other cases it renders nothing (empty output, no error):

  • Visitor is not logged in → empty output
  • Logged-in user has no feed token for this show (e.g. not a subscriber) → empty output
  • No Benecaster account connected → empty output

The default subscriber account page ([benecaster_account]) already includes a QR code section — use [benecaster_qr_code type="feed"] only when building a custom account page that replaces the default.

type="signup" — show’s public signup page

Encodes the show’s public subscriber signup page URL. Renders for all visitors regardless of login state or license. Free on all plans including unlicensed WordPress.org installs. Use on landing pages, show notes pages, or print materials to drive new subscriptions.

Which page it points at, in order:

  1. The signup_url attribute, when you give one: for example a dedicated landing page.
  2. Otherwise, the show’s subscribe page as set through
    benecaster_signup_url, the same answer the subscriber account page uses when it sends a free member to a paid plan. A printed code and an in-app upgrade link can’t disagree.
  3. Otherwise, the show’s own page.

When download=true, both SVG and PNG download buttons render by default. Use the format attribute to limit to one. SVG is print-ready (50 mm × 50 mm); PNG is suitable for digital use and smaller print runs (1000 px, ~300 DPI up to ~8.4 cm).

QR code in the admin dashboard

The Benecaster dashboard already shows a signup QR code for each show — no shortcode needed there. Three buttons beneath it let you take it further:

  • Copy image — copies the QR as a PNG to your clipboard, ready to paste into a document or design tool
  • Copy embed link — copies a ready-to-paste HTML snippet for embedding the QR on any page
  • Download PNG — saves the QR as a PNG file

Use [benecaster_qr_code type="signup"] on front-end pages when you want the QR to appear inline. See the embed-show-qr-code-on-marketing-page recipe for a working example.

Parameters

Name Type Default Required Description
show_id int — No ID of the show. Optional: with no show_id, a show page uses that show, an episode page uses its show, and anywhere else a single-show site uses its only show. On a multi-show site, on a page that is neither, it renders an inline error comment.
type string feed No QR code target. `feed` (default) — encodes the logged-in subscriber's private feed URL; renders nothing for logged-out visitors, users with no token for this show, or unlicensed installs. `signup` — encodes the show's public signup page; renders for all visitors on all plans.
size int 200 No Display size of the QR code in pixels (clamped 80–1000). Controls the inline display only — download file dimensions are fixed (SVG: 50 mm × 50 mm; PNG: 1000 px).
download bool true No Whether to show download button(s) below the QR code.
format string both No Which download button(s) to show when download is true. Options: both (SVG and PNG), svg (SVG only), png (PNG only). SVG downloads at 50 mm × 50 mm (print-ready); PNG downloads at 1000 px (~300 DPI up to ~8.4 cm).
signup_url string — No type=signup only: the page the code should open, such as a dedicated landing page. Ignored for type=feed, which always encodes the subscriber's private feed, because a web page there would give a podcast app a website instead of a feed.

Example

<!-- Subscriber's private feed QR code — SVG download only -->
[benecaster_qr_code show_id="3" type="feed" format="svg"]

<!-- Public signup QR code for a landing page, no download button -->
[benecaster_qr_code show_id="3" type="signup" download="false" size="300"]