{"id":350644,"date":"2026-09-01T00:53:47","date_gmt":"2026-09-01T00:53:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/estudobiblico-biblia-digital\/"},"modified":"2026-09-01T00:53:30","modified_gmt":"2026-09-01T00:53:30","slug":"estudobiblico-biblia-digital","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/estudobiblico-biblia-digital\/","author":21024476,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.70","stable_tag":"1.1.70","tested":"7.1","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"EstudoBiblico B\u00edblia Digital","header_author":"Claudio Crispim","header_description":"Disponibiliza leitura, pesquisa, navega\u00e7\u00e3o e recursos b\u00edblicos no WordPress.","assets_banners_color":"","last_updated":"2026-09-01 00:53:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/estudobiblico.org\/biblia-sagrada-online\/","header_author_uri":"https:\/\/estudobiblico.org\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.70":{"tag":"1.1.70","author":"crispaorg","date":"2026-09-01 00:53:30","revision":3675117}},"upgrade_notice":{"1.1.70":"<p>New public name and slug. The Bible URLs, shortcodes and stored options are unchanged. Custom translation files uploaded by the administrator move to the uploads directory automatically; the previous copies are kept and still read.<\/p>","1.1.65":"<p>Remove o card autom\u00e1tico que estreitava os vers\u00edculos e adiciona seletor compacto de cap\u00edtulos no topo do leitor.<\/p>","1.1.64":"<p>Corrige a exibi\u00e7\u00e3o do card lateral de cap\u00edtulos, adiciona widget real para sidebar e ajusta o painel Aa no mobile.<\/p>","1.1.51":"<p>Fixes Plugin Check findings, revises rewrite\/query vars, improves legacy URL compatibility, and keeps permalink flushing controlled.<\/p>","1.1.50":"<p>Adds an organized admin panel with enterprise-style tabs and documents all shortcodes and attributes in the admin panel and readme.txt.<\/p>","1.1.49":"<p>Keeps the functional translation selector below the book lists and improves dropdown stacking.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"biblia-digital\/search":{"apiVersion":3,"name":"biblia-digital\/search","title":"Biblia Digital - Search","category":"widgets","icon":"search","description":"Displays the Biblia Digital search form using the active Bible for the site.","textdomain":"biblia-digital","editorScript":"file:.\/index.js","attributes":{"title":{"type":"string","default":"Search the Bible"},"placeholder":{"type":"string","default":"Enter a word or phrase"},"button":{"type":"string","default":"Search"},"showBook":{"type":"boolean","default":true}},"supports":{"html":false}}},"tagged_versions":["1.1.70"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Bible reader with books, chapters, and search.","2":"Import Bible tab for ZIP packages.","3":"Shortcodes tab with examples and copy buttons.","4":"Bible Versions tab with active version management.","5":"Random verse widget."}},"plugin_section":[],"plugin_tags":[12198,148076,12285,944,80],"plugin_category":[43],"plugin_contributors":[278556],"plugin_business_model":[],"class_list":["post-350644","plugin","type-plugin","status-publish","hentry","plugin_tags-bible","plugin_tags-gutenberg","plugin_tags-scripture","plugin_tags-search","plugin_tags-shortcode","plugin_category-customization","plugin_contributors-crispaorg","plugin_committers-crispaorg"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/estudobiblico-biblia-digital.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>EstudoBiblico B\u00edblia Digital lets site administrators publish locally stored Bible content in WordPress using plugin-owned database tables, friendly URLs, shortcodes, widgets, and a search block.<\/p>\n\n<p>This public package does not include copyrighted Bible texts, SQL dumps, or proprietary translations. The site administrator imports licensed Bible data with a ZIP file that contains <code>books.csv<\/code> and <code>verses.csv<\/code>.<\/p>\n\n<p>Main features:<\/p>\n\n<ul>\n<li>Frontend Bible reader by book, chapter, and verse.<\/li>\n<li>Search by word, phrase, exact phrase, any word, or all words.<\/li>\n<li>Friendly URLs for books, chapters, verses, and version-aware paths.<\/li>\n<li>Backward compatibility with older query-string URLs.<\/li>\n<li>SEO metadata, canonical URL support, and local manifest endpoint.<\/li>\n<li>Gutenberg search block.<\/li>\n<li>Search widget and random verse widget.<\/li>\n<li>Shortcodes for the reader, search, random verses, specific verses, and chapters.<\/li>\n<li>Multisite-compatible structure.<\/li>\n<li>Multiple Bible versions\/translations per site.<\/li>\n<li>Optional upload of <code>.pot<\/code>, <code>.po<\/code>, and <code>.mo<\/code> files for plugin interface translation.<\/li>\n<li>Admin tabs for overview, import, versions, frontend translation, shortcodes, SEO and URLs, and diagnostics.<\/li>\n<li>No required calls to external APIs.<\/li>\n<\/ul>\n\n<h3>Bible Data License<\/h3>\n\n<p>This plugin does not distribute Bible text. The site administrator is responsible for confirming that every imported translation is public domain, properly licensed, or used with permission from the rights holder.<\/p>\n\n<h3>Import Format<\/h3>\n\n<p>Import a ZIP file containing:<\/p>\n\n<ul>\n<li><code>books.csv<\/code><\/li>\n<li><code>verses.csv<\/code><\/li>\n<\/ul>\n\n<p>Both files must be encoded in UTF-8. Comma and semicolon separators are supported.<\/p>\n\n<p>Required <code>books.csv<\/code> columns:<\/p>\n\n<ul>\n<li><code>livro_seq<\/code><\/li>\n<li><code>livro<\/code><\/li>\n<li><code>livro_desc<\/code><\/li>\n<\/ul>\n\n<p>Required <code>verses.csv<\/code> columns:<\/p>\n\n<ul>\n<li><code>testamento<\/code><\/li>\n<li><code>livroseq<\/code><\/li>\n<li><code>livro<\/code><\/li>\n<li><code>capitulo<\/code><\/li>\n<li><code>versiculo<\/code><\/li>\n<li><code>palavra<\/code><\/li>\n<\/ul>\n\n<p>Example <code>books.csv<\/code>:<\/p>\n\n<pre><code>livro_seq,livro,livro_desc\n1,Gn,Genesis\n43,John,John\n<\/code><\/pre>\n\n<p>Example <code>verses.csv<\/code>:<\/p>\n\n<pre><code>testamento,livroseq,livro,capitulo,versiculo,palavra\nOT,1,Gn,1,1,In the beginning God created the heaven and the earth.\nNT,43,John,3,16,For God so loved the world...\n<\/code><\/pre>\n\n<p>Book numbering should follow the traditional Protestant order from 1 to 66.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<p>All shortcodes are also documented inside the plugin admin area under Settings &gt; Biblia Digital &gt; Shortcodes.<\/p>\n\n<h4>Main Bible Reader<\/h4>\n\n<p>Shortcode:<\/p>\n\n<pre><code>[biblia-digital]\n<\/code><\/pre>\n\n<p>Compatibility aliases:<\/p>\n\n<ul>\n<li><code>[biblia-wp-estudobiblico]<\/code><\/li>\n<li><code>[bibliawp-estudobiblico]<\/code><\/li>\n<\/ul>\n\n<p>Description: displays the full Bible reader, including landing area, books, chapters, verses, search, breadcrumbs, and navigation.<\/p>\n\n<p>Examples:<\/p>\n\n<pre><code>[biblia-digital]\n[biblia-digital version=\"1\"]\n[biblia-digital per_page=\"30\" title=\"Bible Reader\" version=\"1\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>per_page<\/code>: number of items per page when pagination is used. Default: 30.<\/li>\n<li><code>title<\/code>: optional title displayed by the shortcode when applicable.<\/li>\n<li><code>version<\/code>: Bible version ID. Example: <code>version=\"1\"<\/code>.<\/li>\n<\/ul>\n\n<h4>Simple Bible Search<\/h4>\n\n<p>Shortcode:<\/p>\n\n<pre><code>[biblia-busca]\n<\/code><\/pre>\n\n<p>Alias:<\/p>\n\n<ul>\n<li><code>[estudo_biblico_busca]<\/code><\/li>\n<\/ul>\n\n<p>Description: displays only the Bible search form.<\/p>\n\n<p>Examples:<\/p>\n\n<pre><code>[biblia-busca]\n[biblia-busca title=\"Search the Bible\" placeholder=\"Type a word or phrase\" button=\"Search\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>title<\/code>: search form title.<\/li>\n<li><code>placeholder<\/code>: placeholder text for the search field.<\/li>\n<li><code>button<\/code>: submit button text.<\/li>\n<li><code>version<\/code>: Bible version ID, when applicable.<\/li>\n<\/ul>\n\n<h4>Full Search Page<\/h4>\n\n<p>Shortcode:<\/p>\n\n<pre><code>[biblia-busca-pagina]\n<\/code><\/pre>\n\n<p>Alias:<\/p>\n\n<ul>\n<li><code>[biblia-digital-busca]<\/code><\/li>\n<\/ul>\n\n<p>Description: displays the search form, results, and pagination. This shortcode is recommended for a public search page.<\/p>\n\n<p>Examples:<\/p>\n\n<pre><code>[biblia-busca-pagina]\n[biblia-busca-pagina title=\"Search the Bible\" per_page=\"30\" show_book=\"1\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>title<\/code>: search page or block title.<\/li>\n<li><code>per_page<\/code>: number of results per page. Suggested default: 30.<\/li>\n<li><code>show_book<\/code>: show the book selector. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>version<\/code>: Bible version ID, when applicable.<\/li>\n<\/ul>\n\n<h4>Random Verse<\/h4>\n\n<p>Shortcode:<\/p>\n\n<pre><code>[biblia-versiculo-aleatorio]\n<\/code><\/pre>\n\n<p>Description: displays a random Bible verse.<\/p>\n\n<p>Examples:<\/p>\n\n<pre><code>[biblia-versiculo-aleatorio]\n[biblia-versiculo-aleatorio book=\"19\"]\n[biblia-versiculo-aleatorio title=\"Verse of the Moment\" book=\"19\" show_button=\"1\" button_text=\"Read chapter\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>title<\/code>: block title.<\/li>\n<li><code>book<\/code>: book ID or book identifier. Example: <code>book=\"19\"<\/code> for Psalms.<\/li>\n<li><code>version<\/code>: Bible version ID.<\/li>\n<li><code>show_reference<\/code>: show the Bible reference. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>link_reference<\/code>: link the reference to the reader. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>show_button<\/code>: show a chapter button. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>button_text<\/code>: button label.<\/li>\n<\/ul>\n\n<h4>Specific or Random Verse<\/h4>\n\n<p>Shortcode:<\/p>\n\n<pre><code>[biblia-versiculo]\n<\/code><\/pre>\n\n<p>Description: displays one specific verse or a random verse.<\/p>\n\n<p>Examples:<\/p>\n\n<pre><code>[biblia-versiculo livro=\"john\" capitulo=\"3\" versiculo=\"16\"]\n[biblia-versiculo book=\"43\" chapter=\"3\" verse=\"16\"]\n[biblia-versiculo livro=\"random\" capitulo=\"random\" versiculo=\"random\"]\n[biblia-versiculo livro=\"psalms\" capitulo=\"23\" versiculo=\"random\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>title<\/code>: optional title.<\/li>\n<li><code>livro<\/code>: book name, abbreviation, or ID.<\/li>\n<li><code>book<\/code>: English alias for <code>livro<\/code>.<\/li>\n<li><code>capitulo<\/code>: chapter number or <code>random<\/code>.<\/li>\n<li><code>chapter<\/code>: English alias for <code>capitulo<\/code>.<\/li>\n<li><code>versiculo<\/code>: verse number or <code>random<\/code>.<\/li>\n<li><code>verse<\/code>: English alias for <code>versiculo<\/code>.<\/li>\n<li><code>version<\/code>: Bible version ID.<\/li>\n<li><code>show_reference<\/code>: show the reference. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>link_reference<\/code>: link the reference to the reader. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>show_button<\/code>: show a button. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>button_text<\/code>: button label.<\/li>\n<\/ul>\n\n<p>Accepted random values:<\/p>\n\n<ul>\n<li><code>random<\/code><\/li>\n<li><code>aleatorio<\/code><\/li>\n<li><code>aleat\u00f3rio<\/code><\/li>\n<li><code>rand<\/code><\/li>\n<li><code>*<\/code><\/li>\n<\/ul>\n\n<h4>Specific or Random Chapter<\/h4>\n\n<p>Shortcode:<\/p>\n\n<pre><code>[biblia-capitulo]\n<\/code><\/pre>\n\n<p>Description: displays a specific chapter or a random chapter.<\/p>\n\n<p>Examples:<\/p>\n\n<pre><code>[biblia-capitulo random=\"1\" limite=\"15\"]\n[biblia-capitulo livro=\"john\" capitulo=\"3\"]\n[biblia-capitulo livro=\"43\" capitulo=\"3\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>title<\/code>: optional title.<\/li>\n<li><code>livro<\/code>: book name, abbreviation, or ID.<\/li>\n<li><code>book<\/code>: English alias for <code>livro<\/code>.<\/li>\n<li><code>capitulo<\/code>: chapter number.<\/li>\n<li><code>chapter<\/code>: English alias for <code>capitulo<\/code>.<\/li>\n<li><code>random<\/code>: enable random chapter mode. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>limite<\/code>: limit the number of displayed verses.<\/li>\n<li><code>limit<\/code>: English alias for <code>limite<\/code>.<\/li>\n<li><code>version<\/code>: Bible version ID.<\/li>\n<li><code>show_title<\/code>: show the chapter title. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>show_button<\/code>: show a button to open the full chapter. Accepts <code>1<\/code> or <code>0<\/code>.<\/li>\n<li><code>button_text<\/code>: button label.<\/li>\n<\/ul>\n\n<h3>Friendly URLs<\/h3>\n\n<p>Biblia Digital supports friendly URLs and keeps compatibility with older query-string URLs.<\/p>\n\n<p>Version-aware URL example:<\/p>\n\n<pre><code>\/biblia-digital\/versao\/acf-pt-br\/john\/3\/16\/\n<\/code><\/pre>\n\n<p>Legacy URL example:<\/p>\n\n<pre><code>\/biblia-digital\/john\/3\/16\/?bdwp_bible_id=1\n<\/code><\/pre>\n\n<p>After changing the Bible URL base in the plugin settings, go to Settings &gt; Permalinks and click Save Changes once.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Biblia Digital does not collect personal data, track visitors, or require calls to external APIs. Imported Bible content is stored locally in the WordPress database.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under GPLv2 or later. Imported Bible data must be public domain, properly licensed, or used with permission from the rights holder.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP file from the WordPress admin panel.<\/li>\n<li>Activate EstudoBiblico B\u00edblia Digital.<\/li>\n<li>Go to Settings &gt; Biblia Digital.<\/li>\n<li>Open the Import Bible tab.<\/li>\n<li>Import a ZIP file containing <code>books.csv<\/code> and <code>verses.csv<\/code>.<\/li>\n<li>Confirm that you have the right to use the imported Bible translation.<\/li>\n<li>Create a public Bible page.<\/li>\n<li>Insert the <code>[biblia-digital]<\/code> shortcode.<\/li>\n<li>If friendly URLs return 404, go to Settings &gt; Permalinks and click Save Changes once.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20include%20bible%20text%3F\"><h3>Does the plugin include Bible text?<\/h3><\/dt>\n<dd><p>No. The public package does not include Bible text. You must import a properly licensed Bible data package.<\/p><\/dd>\n<dt id=\"why%20is%20import%20not%20automatic%20on%20activation%3F\"><h3>Why is import not automatic on activation?<\/h3><\/dt>\n<dd><p>Activation creates tables and default options. Bible text import can be heavy, so it is handled from the admin panel.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20multisite%3F\"><h3>Does the plugin support multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site uses its own tables and options.<\/p><\/dd>\n<dt id=\"can%20i%20use%20different%20languages%20or%20translations%3F\"><h3>Can I use different languages or translations?<\/h3><\/dt>\n<dd><p>Yes. Each imported version can have its own label and language code. The active Bible is configured per site, while public visitors can choose another available version when more than one public version exists.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20the%20shortcodes%3F\"><h3>Where can I find the shortcodes?<\/h3><\/dt>\n<dd><p>Go to Settings &gt; Biblia Digital &gt; Shortcodes. The tab includes examples, attributes, and copy buttons.<\/p><\/dd>\n<dt id=\"does%20frontend%20translation%20replace%20the%20bible%20text%3F\"><h3>Does frontend translation replace the Bible text?<\/h3><\/dt>\n<dd><p>No. <code>.pot<\/code>, <code>.po<\/code>, and <code>.mo<\/code> files translate only the plugin interface strings. Bible text comes from imported CSV files.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20collect%20visitor%20data%3F\"><h3>Does the plugin collect visitor data?<\/h3><\/dt>\n<dd><p>No. Reading and search are processed locally in WordPress. The plugin does not create tracking cookies or send visitor data to third parties.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.70<\/h4>\n\n<ul>\n<li>Nova identidade p\u00fablica: nome de exibi\u00e7\u00e3o <code>EstudoBiblico B\u00edblia Digital<\/code>, slug e text domain <code>estudobiblico-biblia-digital<\/code>, e <code>Contributors: crispaorg<\/code>.<\/li>\n<li>Adequa\u00e7\u00f5es solicitadas na revis\u00e3o do WordPress.org.<\/li>\n<li>CSS e JavaScript de compatibilidade de tema deixam de ser impressos como <code>&lt;style&gt;<\/code>\/<code>&lt;script&gt;<\/code> e passam a usar <code>wp_register_style()<\/code>, <code>wp_register_script()<\/code>, <code>wp_add_inline_style()<\/code> e <code>wp_add_inline_script()<\/code>, carregados apenas nas p\u00e1ginas da B\u00edblia.<\/li>\n<li>Sitemap: removida a grava\u00e7\u00e3o do \u00edndice f\u00edsico na raiz do WordPress. As URLs p\u00fablicas continuam as mesmas, servidas dinamicamente pelas rotas j\u00e1 existentes. O arquivo remanescente de vers\u00f5es anteriores \u00e9 apagado na atualiza\u00e7\u00e3o, e apenas quando comprovadamente gerado pelo plugin.<\/li>\n<li>Tradu\u00e7\u00f5es personalizadas enviadas pelo administrador passam a ser gravadas em uma subpasta pr\u00f3pria dentro de <code>wp_upload_dir()<\/code>, por site, protegida contra acesso direto. <code>WP_LANG_DIR<\/code> e a pasta do plugin n\u00e3o s\u00e3o mais usados como destino de escrita; arquivos antigos s\u00e3o copiados sem serem apagados e continuam sendo lidos como fallback.<\/li>\n<li>Revis\u00e3o de nonces, capabilities e sanitiza\u00e7\u00e3o nas a\u00e7\u00f5es administrativas.<\/li>\n<li>Auditoria dos avisos administrativos quanto \u00e0 Diretriz 11.<\/li>\n<li>Pacote distribu\u00eddo deixa de incluir <code>.po<\/code> e <code>.mo<\/code>: as tradu\u00e7\u00f5es passam a vir do translate.wordpress.org.<\/li>\n<li>Preservados URLs p\u00fablicas, shortcodes, op\u00e7\u00f5es, tabelas, hooks, handles e o prefixo BDWP70.<\/li>\n<\/ul>\n\n<h4>1.1.69<\/h4>\n\n<ul>\n<li>Metadados: cabe\u00e7alho do plugin adequado aos requisitos oficiais do WordPress.org.<\/li>\n<li>Nome de exibi\u00e7\u00e3o passa a <code>B\u00edblia Digital<\/code>, com acentua\u00e7\u00e3o, no cabe\u00e7alho e no readme. O slug, o text domain, a pasta e o arquivo principal continuam <code>biblia-digital<\/code>.<\/li>\n<li><code>Plugin URI<\/code> passa a apontar para a p\u00e1gina do plugin (<code>https:\/\/estudobiblico.org\/biblia-sagrada-online\/<\/code>), distinta da <code>Author URI<\/code>, que permanece na raiz do site.<\/li>\n<li><code>Description<\/code> reescrita em portugu\u00eas, alinhada ao p\u00fablico do plugin.<\/li>\n<li><code>License<\/code> normalizada para o identificador SPDX <code>GPL-2.0-or-later<\/code>; a licen\u00e7a em si n\u00e3o muda.<\/li>\n<li>Removido <code>Tested up to<\/code> do cabe\u00e7alho PHP: n\u00e3o \u00e9 um campo de cabe\u00e7alho de plugin reconhecido pelo WordPress e permanece declarado no readme.txt.<\/li>\n<li>Nenhum <code>Update URI<\/code> foi adicionado, para n\u00e3o desviar as atualiza\u00e7\u00f5es do WordPress.org.<\/li>\n<li>Cat\u00e1logos <code>.pot<\/code> e pt_BR regenerados por refletirem nome, descri\u00e7\u00e3o e vers\u00e3o.<\/li>\n<\/ul>\n\n<h4>1.1.68<\/h4>\n\n<ul>\n<li>Consolida a linha 1.1.67 (abuse-fix) com o auto-reparo de schema, o refor\u00e7o de importa\u00e7\u00e3o por ZIP e o ferramental de qualidade.<\/li>\n<li>Database: adiciona <code>BDWP70_Activator::maybe_upgrade()<\/code>, que cria\/atualiza tabelas e \u00edndices em atualiza\u00e7\u00f5es do plugin e em ativa\u00e7\u00f5es pelos loaders legados, sem exigir reativa\u00e7\u00e3o. A verifica\u00e7\u00e3o inline anterior foi centralizada nesse m\u00e9todo, agora com trava de concorr\u00eancia e limpeza dos caches de runtime.<\/li>\n<li>Seguran\u00e7a: <code>validate_uploaded_zip_archive()<\/code> passa a recusar o upload com <code>WP_Error<\/code> quando a extens\u00e3o PHP zip est\u00e1 ausente, em vez de ignorar silenciosamente as valida\u00e7\u00f5es de path traversal, contagem e tamanho.<\/li>\n<li>Compatibilidade: <code>str_getcsv()<\/code> passa a receber <code>$escape<\/code> expl\u00edcito, eliminando o aviso de deprecia\u00e7\u00e3o no PHP 8.4\/8.5; removido o registro do hook <code>wpmu_new_blog<\/code>, depreciado desde o WP 5.1.<\/li>\n<li>Internacionaliza\u00e7\u00e3o: mensagens de importa\u00e7\u00e3o e de valida\u00e7\u00e3o de ZIP passam a usar <code>__()<\/code>; cat\u00e1logo <code>.pot<\/code> regenerado e tradu\u00e7\u00e3o pt_BR inclu\u00edda.<\/li>\n<li>Qualidade\/distribui\u00e7\u00e3o: workflow de CI (lint PHP 7.4\u20138.5, PHPCS\/WPCS, PHPUnit em WordPress 6.6 e 7.0.x, Plugin Check sobre o ZIP), <code>composer.json<\/code>, <code>phpcs.xml.dist<\/code>, <code>.distignore<\/code> e testes de integra\u00e7\u00e3o.<\/li>\n<li>Corre\u00e7\u00f5es de defeito preexistente: <code>.gitignore<\/code> versionado continha o comando que o gerou; doze coment\u00e1rios corrompidos nos arquivos de sitemap foram restaurados.<\/li>\n<li>Nenhuma altera\u00e7\u00e3o em dados, op\u00e7\u00f5es, slugs, nomes can\u00f4nicos de livros, tabelas, shortcodes, hooks ou no prefixo BDWP70.<\/li>\n<\/ul>\n\n<h4>1.1.67<\/h4>\n\n<ul>\n<li>Abuse report hardening: elimina consultas aleat\u00f3rias com GROUP BY\/OFFSET em runtime e usa sele\u00e7\u00e3o por faixa de ID indexada.<\/li>\n<li>Performance: cache persistente para exist\u00eancia de vers\u00f5es, B\u00edblia ativa e contagens do sitemap, reduzindo SELECT id repetido e COUNT(*) em acessos de bots.<\/li>\n<li>Database: \u00edndices complementares para contagens e sele\u00e7\u00e3o aleat\u00f3ria por bible_id\/published\/id.<\/li>\n<\/ul>\n\n<h4>1.1.66<\/h4>\n\n<ul>\n<li>Performance: sitemap f\u00edsico deixou de validar em toda requisi\u00e7\u00e3o p\u00fablica; verifica\u00e7\u00e3o agora usa transient e s\u00f3 revalida periodicamente.<\/li>\n<li>Performance: vers\u00edculo e cap\u00edtulo aleat\u00f3rios n\u00e3o usam mais ordena\u00e7\u00e3o rand\u00f4mica no banco.<\/li>\n<li>Performance: importa\u00e7\u00e3o CSV usa inser\u00e7\u00e3o em lote real para livros e vers\u00edculos.<\/li>\n<li>Performance: consultas de busca recebem cache transit\u00f3rio curto e \u00edndices auxiliares.<\/li>\n<li>Performance: contexto SEO possui cache interno por requisi\u00e7\u00e3o.<\/li>\n<\/ul>\n\n<h4>1.1.65<\/h4>\n\n<ul>\n<li>Remove o card autom\u00e1tico interno de cap\u00edtulos do layout do leitor, evitando que o texto b\u00edblico seja estreitado em temas com sidebar pr\u00f3pria.<\/li>\n<li>Adiciona bot\u00e3o compacto \u201cCap\u00edtulos\u201d no topo do cap\u00edtulo, com painel suspenso contendo todos os cap\u00edtulos do livro, tradu\u00e7\u00e3o ativa e link para a lista completa.<\/li>\n<li>Mant\u00e9m dispon\u00edveis o widget nativo e o shortcode [biblia-capitulos-sidebar] para uso manual em sidebars reais.<\/li>\n<li>Refor\u00e7a o ajuste mobile dos bot\u00f5es Vers\u00edculo\/Corrido, ocultando o \u00edcone que consumia espa\u00e7o e evitando corte de texto.<\/li>\n<\/ul>\n\n<h4>1.1.64<\/h4>\n\n<ul>\n<li>Corrige a regra de layout que empurrava o card de cap\u00edtulos para depois do texto em alguns temas.<\/li>\n<li>Adiciona o widget nativo \u201cB\u00edblia Digital - Cap\u00edtulos do livro atual\u201d para uso em Apar\u00eancia &gt; Widgets.<\/li>\n<li>Adiciona o shortcode [biblia-capitulos-sidebar] para inserir o card manualmente em blocos\/\u00e1reas laterais.<\/li>\n<li>Ajusta o painel Aa no mobile para evitar corte nos bot\u00f5es Vers\u00edculo\/Corrido.<\/li>\n<\/ul>\n\n<h4>1.1.63<\/h4>\n\n<ul>\n<li>Adiciona painel compacto de op\u00e7\u00f5es de leitura com tamanho da fonte, formato por vers\u00edculo\/corrido, fonte Padr\u00e3o\/Lexend e fundo de leitura.<\/li>\n<li>Adiciona persist\u00eancia das prefer\u00eancias do leitor no navegador.<\/li>\n<li>Melhora o widget lateral de cap\u00edtulos com t\u00edtulo do livro, cap\u00edtulo atual, tradu\u00e7\u00e3o ativa e grade de navega\u00e7\u00e3o.<\/li>\n<\/ul>\n\n<h4>1.1.62<\/h4>\n\n<ul>\n<li>Remove duplicidade da mensagem de busca sem resultados na p\u00e1gina dedicada de busca.<\/li>\n<li>Mant\u00e9m a mensagem \u00fanica no resumo da busca dedicada.<\/li>\n<li>Mant\u00e9m o fallback do shortcode principal e widgets quando n\u00e3o h\u00e1 resultados.<\/li>\n<\/ul>\n\n<h4>1.1.61<\/h4>\n\n<ul>\n<li>Corrige definitivamente a aus\u00eancia de mensagem quando a busca n\u00e3o encontra termo\/palavra.<\/li>\n<li>A vers\u00e3o 1.1.60 corrigia a fun\u00e7\u00e3o de lista e a p\u00e1gina dedicada, mas o template principal s\u00f3 chamava a lista quando havia itens.<\/li>\n<li>Agora o template principal tamb\u00e9m chama o fallback de sem resultados no modo de busca.<\/li>\n<li>Mant\u00e9m mensagem acess\u00edvel e estilizada no shortcode principal, na p\u00e1gina dedicada e nos fluxos de busca p\u00fablica.<\/li>\n<\/ul>\n\n<h4>1.1.60<\/h4>\n\n<ul>\n<li>Corrige a exibi\u00e7\u00e3o de mensagem quando uma busca n\u00e3o encontra termo ou palavra na B\u00edblia.<\/li>\n<li>A mensagem agora aparece tanto na p\u00e1gina de busca dedicada quanto no modo de busca do shortcode principal.<\/li>\n<li>Adiciona marca\u00e7\u00e3o aria-live para acessibilidade e estilo visual discreto para o aviso de busca vazia.<\/li>\n<\/ul>\n\n<h4>1.1.59<\/h4>\n\n<ul>\n<li>Adiciona XSL pr\u00f3prio para exibi\u00e7\u00e3o visual dos sitemaps da B\u00edblia Digital no navegador.<\/li>\n<li>Mant\u00e9m a estrutura XML pura para crawlers e buscadores.<\/li>\n<\/ul>\n\n<h4>1.1.58<\/h4>\n\n<ul>\n<li>Corrige apontamentos do Plugin Check no diagn\u00f3stico do sitemap e nas consultas SQL do sitemap.<\/li>\n<li>Adiciona coment\u00e1rios translators em strings com placeholders.<\/li>\n<li>Remove fragmentos SQL din\u00e2micos de filtro published e usa ramifica\u00e7\u00f5es preparadas\/escapadas.<\/li>\n<li>Adiciona cache\/declara\u00e7\u00f5es seguras nas consultas paginadas do sitemap sem alterar a l\u00f3gica funcional da vers\u00e3o 1.1.57.<\/li>\n<\/ul>\n\n<h4>1.1.56<\/h4>\n\n<ul>\n<li>Corrige definitivamente a gera\u00e7\u00e3o de URLs no sitemap XML da B\u00edblia.<\/li>\n<li>Adiciona fallback robusto para resolver B\u00edblia com conte\u00fado real a partir da tabela de vers\u00edculos.<\/li>\n<li>Evita sitemap vazio quando a tabela de livros estiver incompleta, mas os vers\u00edculos existirem.<\/li>\n<li>Torna o filtro published resiliente para bases legadas.<\/li>\n<li>Mant\u00e9m pagina\u00e7\u00e3o por blocos, LIMIT\/OFFSET e integra\u00e7\u00e3o com WP Sitemap API.<\/li>\n<\/ul>\n\n<h4>1.1.51<\/h4>\n\n<ul>\n<li>Fixes missing translator comments reported by Plugin Check.<\/li>\n<li>Rewrites the official readme.txt in English for repository review.<\/li>\n<li>Avoids nonce warnings for navigation-only admin tabs by reading the tab parameter safely.<\/li>\n<li>Reviews rewrite rules for version-aware Bible URLs.<\/li>\n<li>Registers public query vars used by friendly URLs and legacy query-string URLs.<\/li>\n<li>Preserves compatibility with old <code>?bdwp_bible_id=1<\/code> URLs.<\/li>\n<li>Flushes rewrite rules only when explicitly marked as stale, such as plugin activation, plugin upgrade, or SEO base changes.<\/li>\n<li>Adds clearer admin instructions to save permalinks once after changing the Bible URL base.<\/li>\n<\/ul>\n\n<h4>1.1.50<\/h4>\n\n<ul>\n<li>Reorganizes the admin panel into tabs: Overview, Import Bible, Bible Versions, Frontend Translation, Shortcodes, SEO and URLs, and Diagnostics.<\/li>\n<li>Places Import Bible before Frontend Translation to reduce operational confusion.<\/li>\n<li>Adds a Shortcodes tab with cards, examples, attributes, and copy buttons.<\/li>\n<li>Updates readme.txt with all shortcodes, aliases, and attributes.<\/li>\n<li>Preserves compatibility with legacy shortcodes.<\/li>\n<\/ul>\n\n<h4>1.1.49<\/h4>\n\n<ul>\n<li>Keeps the hero version display as a static badge and the functional translation dropdown below the book lists.<\/li>\n<li>Fixes dropdown stacking\/overflow so version choices remain readable over the Bible landing layout.<\/li>\n<li>Preserves the plugin title image and prevents theme portal logos from replacing functional Bible images.<\/li>\n<\/ul>\n\n<h4>1.1.48<\/h4>\n\n<ul>\n<li>Adds SEO-friendly Bible version paths such as <code>\/biblia-digital\/versao\/acf-pt-br\/john\/3\/16\/<\/code>.<\/li>\n<li>Keeps backward compatibility with the previous <code>bdwp_bible_id<\/code> query parameter.<\/li>\n<li>Moves the public translation\/version selector below the Old Testament and New Testament book containers.<\/li>\n<li>Replaces the decorative separator with a functional translation selection panel.<\/li>\n<li>Preserves the selected version across books, chapters, verses, breadcrumbs, search, and pagination.<\/li>\n<\/ul>\n\n<h4>1.1.46<\/h4>\n\n<ul>\n<li>Renamed the public plugin package to Biblia Digital.<\/li>\n<li>Updated the text domain to <code>biblia-digital<\/code>.<\/li>\n<li>Removed the custom update header from the public package.<\/li>\n<li>Updated the search block to API version 3.<\/li>\n<li>Rewrote the WordPress.org readme in English.<\/li>\n<li>Preserved legacy classes, options, database tables, and shortcodes.<\/li>\n<\/ul>\n\n<h4>1.1.44<\/h4>\n\n<ul>\n<li>Normalized UTF-8 encoding and line endings.<\/li>\n<li>Improved admin and readme text.<\/li>\n<li>Preserved the CSV importer and safe uninstall defaults.<\/li>\n<\/ul>","raw_excerpt":"Publish, search, and import Bible texts in WordPress with shortcodes, widgets, a Gutenberg block, and an organized admin panel.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/350644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=350644"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/crispaorg"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=350644"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=350644"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=350644"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=350644"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=350644"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=350644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}