{"id":297028,"date":"2026-04-16T07:03:00","date_gmt":"2026-04-16T07:03:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/biblebridge-free-bible-reader\/"},"modified":"2026-04-16T13:07:34","modified_gmt":"2026-04-16T13:07:34","slug":"biblebridge","status":"publish","type":"plugin","link":"https:\/\/cs.wordpress.org\/plugins\/biblebridge\/","author":23475818,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.7.1","stable_tag":"1.0.7.1","tested":"6.9.4","requires":"5.8","requires_php":"8.0","requires_plugins":null,"header_name":"BibleBridge","header_author":"BibleBridge","header_description":"Bible reader with 11 translations, a scripture reference parser, cross-references, topic explorer, reading plans, search, verse highlighting, verse notes, and cloud sync across devices.","assets_banners_color":"bdae9c","last_updated":"2026-04-16 13:07:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/holybible.dev","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":37,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.7":{"tag":"1.0.7","author":"biblebridge","date":"2026-04-16 07:03:49"},"1.0.7.1":{"tag":"1.0.7.1","author":"biblebridge","date":"2026-04-16 13:07:34"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3507690,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3507690,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3507690,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3507690,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.7","1.0.7.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3507690,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3507690,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3507690,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3507690,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3507690,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3507690,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Chapter reading view with verse actions","2":"Topic explorer showing theological connections","3":"Search with book filtering","4":"Reading plans with calendar view","5":"Dark mode","6":"Mobile view with bottom navigation"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[12198,260369,260370,21001,250030],"plugin_category":[39],"plugin_contributors":[260339],"plugin_business_model":[],"class_list":["post-297028","plugin","type-plugin","status-publish","hentry","plugin_tags-bible","plugin_tags-bible-reader","plugin_tags-church-website","plugin_tags-cross-references","plugin_tags-reading-plan","plugin_category-business","plugin_contributors-biblebridge","plugin_committers-biblebridge"],"banners":{"banner":"https:\/\/ps.w.org\/biblebridge\/assets\/banner-772x250.png?rev=3507690","banner_2x":"https:\/\/ps.w.org\/biblebridge\/assets\/banner-1544x500.png?rev=3507690","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/biblebridge\/assets\/icon-128x128.png?rev=3507690","icon_2x":"https:\/\/ps.w.org\/biblebridge\/assets\/icon-256x256.png?rev=3507690","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/biblebridge\/assets\/screenshot-1.png?rev=3507690","caption":"Chapter reading view with verse actions"},{"src":"https:\/\/ps.w.org\/biblebridge\/assets\/screenshot-2.png?rev=3507690","caption":"Topic explorer showing theological connections"},{"src":"https:\/\/ps.w.org\/biblebridge\/assets\/screenshot-3.png?rev=3507690","caption":"Search with book filtering"},{"src":"https:\/\/ps.w.org\/biblebridge\/assets\/screenshot-4.png?rev=3507690","caption":"Reading plans with calendar view"},{"src":"https:\/\/ps.w.org\/biblebridge\/assets\/screenshot-5.png?rev=3507690","caption":"Dark mode"},{"src":"https:\/\/ps.w.org\/biblebridge\/assets\/screenshot-6.png?rev=3507690","caption":"Mobile view with bottom navigation"}],"raw_content":"<!--section=description-->\n<p>BibleBridge is a complete Bible for your WordPress site \u2014 11 translations, 95 topics with curated anchor verses, a scripture reference parser, cross-references, a topic explorer, reading plans, search, verse highlighting, verse notes, and optional cloud sync across devices.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>11 Bible translations: KJV, ASV, WEB, YLT (English), Reina-Valera (Spanish), Louis Segond (French), Luther 1912 (German), Almeida RA (Portuguese), CUV (Chinese), KRV (Korean), Ang Dating Biblia (Tagalog)<\/li>\n<li>Scripture reference parser that recognizes natural references such as \"Jn 3:16\", \"1 Cor 13:4-7\", book-name abbreviations, and verse ranges<\/li>\n<li>Cross-references panel \u2014 tap any verse to open a list of related references with a back button and browsing history<\/li>\n<li>Topic explorer \u2014 95 topics organized by the scripture they share, with 3,325 anchor verses across doctrine and pastoral care<\/li>\n<li>5 reading plans: Bible in a Year, New Testament in 90 Days, New Testament in a Year, Gospel of John, Psalms &amp; Proverbs<\/li>\n<li>Scripture search with book filtering and instant suggestions<\/li>\n<li>Verse sharing \u2014 copy text or generate image cards<\/li>\n<li>Verse highlighting with persistent colors<\/li>\n<li>Verse notes<\/li>\n<li>Cloud sync across devices via a short code (no account required)<\/li>\n<li>Dark mode<\/li>\n<li>Mobile layout with bottom navigation<\/li>\n<\/ul>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Go to Settings \u2192 BibleBridge<\/li>\n<li>Set your reader name (e.g. \"Grace Church Bible\")<\/li>\n<li>Your Bible is live at yoursite.com\/bible<\/li>\n<\/ol>\n\n<p><strong>Free tier includes:<\/strong><\/p>\n\n<ul>\n<li>250 API requests per day<\/li>\n<li>All 11 translations<\/li>\n<li>All features (search, topics, plans, cross-refs, sync)<\/li>\n<li>No ads, no tracking, no account wall<\/li>\n<\/ul>\n\n<p>Need more capacity? Claim your site from <strong>Settings \u2192 BibleBridge<\/strong> in your WordPress admin, then choose a plan at <a href=\"https:\/\/holybible.dev\/pricing\">holybible.dev\/pricing<\/a>.<\/p>\n\n<p><strong>External Services<\/strong><\/p>\n\n<p>This plugin relies on the BibleBridge API to serve Bible text, cross-references, search results, topic data, and reading plans. No Bible data is stored locally \u2014 all scripture content is fetched on demand from the API.<\/p>\n\n<p>The plugin connects to the following services hosted at holybible.dev:<\/p>\n\n<ul>\n<li><strong>BibleBridge API<\/strong> (holybible.dev\/api) \u2014 serves all Bible content including scripture text, search, cross-references, topics, and reading plan data. On plugin activation, the plugin sends your site URL and site name to automatically provision a free API key. During normal use, visitor search queries and page navigation result in API calls that include the API key and requested scripture references. No visitor personal data is collected or transmitted.<\/li>\n<li><strong>BibleBridge Sync<\/strong> (holybible.dev\/reader\/sync.php) \u2014 provides optional cross-device sync for visitor highlights, notes, and reading progress. Sync is initiated by visitors using an anonymous code (no email or account required). No personally identifiable information is collected.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/holybible.dev\/terms\">Terms of Service<\/a> | <a href=\"https:\/\/holybible.dev\/privacy\">Privacy Policy<\/a><\/p>\n\n<h3>Source Code<\/h3>\n\n<p>Every PHP, CSS, and JavaScript file in this plugin is shipped as human-readable source directly in the plugin zip. No minification, no transpilation, no obfuscation, no build step. What you download is what runs.<\/p>\n\n<ul>\n<li><code>biblebridge.php<\/code>, <code>uninstall.php<\/code><\/li>\n<li><code>includes\/bb-api-client.php<\/code>, <code>includes\/bb-config.php<\/code>, <code>includes\/passage_nicknames.php<\/code><\/li>\n<li><code>templates\/reader.php<\/code> and all route templates under <code>templates\/routes\/<\/code><\/li>\n<li><code>assets\/css\/reader.css<\/code>, <code>assets\/fonts\/fonts.css<\/code><\/li>\n<li><code>assets\/js\/reader.js<\/code>, <code>theme-init.js<\/code>, <code>topic-context.js<\/code>, <code>topic-tools.js<\/code>, <code>xref-walker.js<\/code><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to Plugins \u2192 Add New<\/li>\n<li>Search for \"BibleBridge\" and click Install Now<\/li>\n<li>Activate the plugin<\/li>\n<li>Go to Settings \u2192 BibleBridge to set your reader name<\/li>\n<li>Add a \"Bible\" link to your site navigation pointing to <code>\/bible\/read<\/code><\/li>\n<\/ol>\n\n<p>For manual installation: upload the <code>biblebridge<\/code> folder to <code>\/wp-content\/plugins\/<\/code> and activate through the Plugins menu.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20out%20of%20the%20box%3F\"><h3>Does this work out of the box?<\/h3><\/dt>\n<dd><p>Yes. The plugin works immediately with no setup required. A free API key is automatically provisioned for your site on activation. For usage alerts and higher limits, claim your key at holybible.dev\/signup.<\/p><\/dd>\n<dt id=\"who%20is%20this%20for%3F\"><h3>Who is this for?<\/h3><\/dt>\n<dd><p>Anyone who wants Scripture on their website \u2014 churches, ministries, bloggers, devotional sites, schools, or content creators.<\/p><\/dd>\n<dt id=\"what%20translations%20are%20included%3F\"><h3>What translations are included?<\/h3><\/dt>\n<dd><p>KJV, ASV, WEB, YLT (English), Reina-Valera (Spanish), Louis Segond (French), Luther 1912 (German), Almeida RA (Portuguese), CUV (Chinese), KRV (Korean), Ang Dating Biblia (Tagalog).<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. All styles and scripts are bundled with the plugin. Bible data is fetched on demand from the API. No heavy assets or database tables are added to your site.<\/p><\/dd>\n<dt id=\"can%20visitors%20sync%20across%20devices%3F\"><h3>Can visitors sync across devices?<\/h3><\/dt>\n<dd><p>Yes. Cloud sync uses a simple code (like \"GRACE-4821\") \u2014 no email or password needed. Highlights, reading progress, and plan completion sync automatically.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20url%3F\"><h3>Can I customize the URL?<\/h3><\/dt>\n<dd><p>Yes. By default the reader lives at <code>\/bible<\/code> but you can change this in Settings \u2192 BibleBridge.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>The reader uses its own full-page template with clean typography. It works independently of your theme, so there are no style conflicts.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20hit%20the%20daily%20limit%3F\"><h3>What happens if I hit the daily limit?<\/h3><\/dt>\n<dd><p>Readers will see a friendly message that the reader is busy. No errors, no broken pages. Limits reset at midnight UTC. To raise limits, claim your site from the plugin's settings page, then choose a plan at holybible.dev\/pricing.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.7.1<\/h4>\n\n<ul>\n<li>Admin UI: unify the \"upgrade\" messaging across all four admin surfaces \u2014 settings page help text, 80% quota warning banner, daily-limit-reached banner, and usage-table status cell. Each now uses a single \"Claim your account\" link that routes through the signup\/claim flow with the site's API key, so users who haven't claimed their account yet reach the right starting point. Previously these linked directly to pricing and bypassed the claim step.<\/li>\n<li>Readme: remove external GitHub URL that pointed to the standalone codebase, not this plugin.<\/li>\n<li>Readme: clarify that raising the daily limit requires claiming the site first.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Migrate the public sync endpoint from the custom <code>\/bible\/sync<\/code> rewrite route to the WordPress REST API under <code>\/wp-json\/biblebridge\/v1\/sync<\/code>. Both GET (code retrieval) and POST (sync push) now use <code>register_rest_route()<\/code> with WordPress-managed request parsing; the plugin no longer reads raw request input for sync handling.<\/li>\n<li>Replace custom body-length \/ JSON-decode hardening with a recursive shape-preserving sanitizer that walks nested highlight\/note structures, sanitizing string keys and values while preserving booleans, integers, floats, and array shape.<\/li>\n<li>Scripture passthrough (<code>\/bible\/api\/{endpoint}<\/code>) is unchanged \u2014 still served via the existing public page rewrite route with endpoint + parameter whitelists.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Ship <code>assets\/js\/reader.js<\/code> as human-readable unminified source directly in the plugin zip (no minified build, no build step \u2014 what you download is what runs)<\/li>\n<li>Migrate the reader's scripture passthrough off <code>admin-ajax.php<\/code> entirely. Cross-references, context, search, passage, topics, and cloud sync are now served by dedicated public page routes \u2014 <code>\/bible\/api\/{endpoint}<\/code> and <code>\/bible\/sync<\/code> \u2014 alongside the existing <code>\/bible\/read<\/code>, <code>\/bible\/topics<\/code>, and <code>\/bible\/plans<\/code> routes. No more <code>wp_ajax_nopriv_*<\/code> handlers in the plugin.<\/li>\n<li>Harden <code>\/bible\/sync<\/code> POST body handling: reject empty \/ oversized (&gt;64KB) \/ non-JSON input before forwarding upstream, and re-encode the parsed body via <code>wp_json_encode()<\/code> so only canonical JSON derived from a decoded array is sent on<\/li>\n<li>Escape inline SVG output in the reading plans page via <code>wp_kses()<\/code> with an explicit SVG-safe whitelist<\/li>\n<li>Prefix all remaining generic globals and JS-localized identifiers: <code>$PASSAGE_NICKNAMES<\/code> \u2192 <code>$BIBLEBRIDGE_PASSAGE_NICKNAMES<\/code>, <code>$BOOK_ALIASES<\/code> \u2192 <code>$BIBLEBRIDGE_BOOK_ALIASES<\/code>, <code>$GLOBALS['bb_prefetched_topic']<\/code> \u2192 <code>$GLOBALS['biblebridge_prefetched_topic']<\/code>, <code>bbWpRoute<\/code> \u2192 <code>BIBLEBRIDGE_WP_ROUTE<\/code>, script handle <code>bb-reader<\/code> \u2192 <code>biblebridge-reader<\/code><\/li>\n<li>Simplify the Source Code readme section: every file in the zip is human-readable, no build step, no external lookup required<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fix cross-reference panel failing on installs not hosted on holybible.dev (relative-URL bug in reader.js now uses the WordPress admin-ajax proxy)<\/li>\n<li>Fix cloud sync failing on installs not hosted on holybible.dev (same bug class as cross-references \u2014 sync now routes through a dedicated admin-ajax proxy handler)<\/li>\n<li>Fix plan detail and plan day pages missing styles (inline CSS was stripped during the 1.0.4 WP.org blocker fix but never migrated into reader.css)<\/li>\n<li>Refine cross-reference panel typography across the reader page and topic pages for a consistent Study Bible look (serif headline, uppercase reference labels, generous spacing, left accent border)<\/li>\n<li>Rename plugin from \"BibleBridge \u2014 Free Bible Reader\" to \"BibleBridge\" and rewrite description for the WordPress.org directory<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Topic pages reimagined for sermon prep: each topic now opens with anchor verse previews and a cross-reference walker for following verses across Scripture<\/li>\n<li>New \"Copy all verses\" button on every topic page (plain-text export with source attribution)<\/li>\n<li>Topics browse page now organized into intentional shelves: \"Start with doctrine\" (taught in teaching order) and \"For pastoral care &amp; life\" (alphabetical)<\/li>\n<li>Stripped editorial prose from topic pages \u2014 anchor scriptures and shared-verse adjacency now do the work of guiding study, with no doctrinal commentary<\/li>\n<li>New shared-verse adjacency on every topic page (\"Topics that share scripture\") for finding related passages without doctrinal labels<\/li>\n<li>Improved meta descriptions and social-share images for topic pages<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added Bookmark verse to the mobile action sheet (previously desktop-only)<\/li>\n<li>Normalized verse action labels between mobile and desktop (Copy verse, Share verse, Share as image, Bookmark verse, Highlight verse, Add note)<\/li>\n<li>Refactored verse actions to render from a single registry to prevent future drift<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added beacon-based read metering (accurate quota tracking per chapter read)<\/li>\n<li>Passage API calls no longer count against quota for WordPress installs<\/li>\n<li>Sends X-BB-Client header to identify first-party reader requests<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Bundled CSS, JS, and fonts locally (no external CDN)<\/li>\n<li>Fixed cross-references for non-English translations<\/li>\n<li>Fixed topic flow rendering for ungrouped chains<\/li>\n<li>Fixed reference resolution using correct API key<\/li>\n<li>Added 80% quota warning in admin<\/li>\n<li>Updated free tier to 250 requests\/day<\/li>\n<li>Added external services disclosure and privacy links<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>10 Bible translations<\/li>\n<li>Full-text search with book filtering<\/li>\n<li>Cross-references with topic explanations<\/li>\n<li>Topic explorer with flow visualization<\/li>\n<li>5 reading plans<\/li>\n<li>Verse sharing (text and image)<\/li>\n<li>Verse highlighting and notes<\/li>\n<li>Cloud sync<\/li>\n<li>Dark\/light mode<\/li>\n<li>Mobile-optimized<\/li>\n<\/ul>","raw_excerpt":"A complete Bible for your WordPress site: 11 translations, 95 topics, cross-references, reading plans, search, highlights, notes, and cloud sync.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/297028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=297028"}],"author":[{"embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/biblebridge"}],"wp:attachment":[{"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=297028"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=297028"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=297028"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=297028"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=297028"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=297028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}