BioLink Pro v2.2.2
Changed
- Unlock UX is now fully inline. Clicking a locked block opens a modal overlay on the same page (centered card, light/dark aware, escape/click-outside to dismiss). On correct passcode, the placeholder's
outerHTMLis replaced in place with the rendered block — no page reload, no separate/?biolink_unlock=…page. YouTube embeds, image galleries, donation forms etc. appear in-line and animate in. - The standalone
template_redirectunlock page from v2.2.0–v2.2.1 stays as a graceful-degradation path for visitors with JavaScript disabled.
Added
POST /biolink/v1/unlock/{page_id}/{uuid}— public REST endpoint. Body{ passcode }. Verifies viawp_check_password, sets the signedbiolink_unlockedcookie, renders the unlocked block server-side viaPageRenderer, returns{ ok: true, html }. Wrong passcode → 401.UnlockHandler::rememberUnlockForRequest()— public static so the REST endpoint can persist + inject the cookie token in the current request (soPageRenderersees the unlock state when it renders the response HTML).- Modal styling in
assets/frontend/biolink.css—.bio-unlock-overlay/.bio-unlock-modalwith fade + pop animations, honorsprefers-reduced-motion. - Re-init pattern for swapped-in blocks.
initYouTube/initCountdowns/initForms/initCheckoutall accept an optionalrootargument and skip elements already markeddata-bio-init. After a swap,enhance(newBlock)re-initializes only the newly inserted DOM — no double-binding, no duplicate countdown ticks. - Placeholder anchors now carry
data-biolink-unlock/data-biolink-page/data-biolink-uuidso JS knows what to unlock.
Install: download biolink-pro-v2.2.2.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).