BioLink Pro v2.2.1
Fixed
- Passcode gate now applies to every block type, not just Link. v2.2.0 only gated
LinkBlock, so setting a passcode on a YouTube / Image Gallery / Donation / etc. block still rendered the content publicly.PageRenderernow checks_passcode_hashon every block and replaces the output with a generic "🔒 {label} — Click to unlock" placeholder card when the visitor hasn't unlocked it.
Added
- Signed unlock cookie —
UnlockHandlersetsbiolink_unlocked(HTTP-only, SameSite=Lax, 30 days) on successful passcode entry. Value is a comma-separated list ofwp_hash('biolink_unlock|page_id|uuid')tokens — tamper-resistant, no DB writes. Subsequent visits skip the form for blocks already unlocked. UnlockHandler::isUnlocked( $page_id, $uuid )static helper, used byPageRendererandLinkBlockto decide whether the gate should fire.- Public CSS for
.bio-block--locked-placeholder— dashed border, lock icon, theme-matched. Hovers lift like a normal link card.
Changed
UnlockHandlerdestination logic generalized. Looks forurlorcta_urlon the block; if found, unlock redirects to it (works for Link / Button / Donation / Product Card). Otherwise redirects back to the bio page so the now-unlocked embed/gallery/etc. renders inline.
Install: download biolink-pro-v2.2.1.zip below and upload via Plugins → Add New → Upload Plugin.
Auto-update: if you already have BioLink Pro installed, this release will appear under Dashboard → Updates within ~12 hours (or click "Check Again" to force a refresh).