EstudoBiblico Bíblia Digital
EstudoBiblico Bíblia Digital
Description
EstudoBiblico Bíblia Digital lets site administrators publish locally stored Bible content in WordPress using plugin-owned database tables, friendly URLs, shortcodes, widgets, and a search block.
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 books.csv and verses.csv.
Main features:
- Frontend Bible reader by book, chapter, and verse.
- Search by word, phrase, exact phrase, any word, or all words.
- Friendly URLs for books, chapters, verses, and version-aware paths.
- Backward compatibility with older query-string URLs.
- SEO metadata, canonical URL support, and local manifest endpoint.
- Gutenberg search block.
- Search widget and random verse widget.
- Shortcodes for the reader, search, random verses, specific verses, and chapters.
- Multisite-compatible structure.
- Multiple Bible versions/translations per site.
- Optional upload of
.pot,.po, and.mofiles for plugin interface translation. - Admin tabs for overview, import, versions, frontend translation, shortcodes, SEO and URLs, and diagnostics.
- No required calls to external APIs.
Bible Data License
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.
Import Format
Import a ZIP file containing:
books.csvverses.csv
Both files must be encoded in UTF-8. Comma and semicolon separators are supported.
Required books.csv columns:
livro_seqlivrolivro_desc
Required verses.csv columns:
testamentolivroseqlivrocapituloversiculopalavra
Example books.csv:
livro_seq,livro,livro_desc
1,Gn,Genesis
43,John,John
Example verses.csv:
testamento,livroseq,livro,capitulo,versiculo,palavra
OT,1,Gn,1,1,In the beginning God created the heaven and the earth.
NT,43,John,3,16,For God so loved the world...
Book numbering should follow the traditional Protestant order from 1 to 66.
Shortcodes
All shortcodes are also documented inside the plugin admin area under Settings > Biblia Digital > Shortcodes.
Main Bible Reader
Shortcode:
[biblia-digital]
Compatibility aliases:
[biblia-wp-estudobiblico][bibliawp-estudobiblico]
Description: displays the full Bible reader, including landing area, books, chapters, verses, search, breadcrumbs, and navigation.
Examples:
[biblia-digital]
[biblia-digital version="1"]
[biblia-digital per_page="30" title="Bible Reader" version="1"]
Attributes:
per_page: number of items per page when pagination is used. Default: 30.title: optional title displayed by the shortcode when applicable.version: Bible version ID. Example:version="1".
Simple Bible Search
Shortcode:
[biblia-busca]
Alias:
[estudo_biblico_busca]
Description: displays only the Bible search form.
Examples:
[biblia-busca]
[biblia-busca title="Search the Bible" placeholder="Type a word or phrase" button="Search"]
Attributes:
title: search form title.placeholder: placeholder text for the search field.button: submit button text.version: Bible version ID, when applicable.
Full Search Page
Shortcode:
[biblia-busca-pagina]
Alias:
[biblia-digital-busca]
Description: displays the search form, results, and pagination. This shortcode is recommended for a public search page.
Examples:
[biblia-busca-pagina]
[biblia-busca-pagina title="Search the Bible" per_page="30" show_book="1"]
Attributes:
title: search page or block title.per_page: number of results per page. Suggested default: 30.show_book: show the book selector. Accepts1or0.version: Bible version ID, when applicable.
Random Verse
Shortcode:
[biblia-versiculo-aleatorio]
Description: displays a random Bible verse.
Examples:
[biblia-versiculo-aleatorio]
[biblia-versiculo-aleatorio book="19"]
[biblia-versiculo-aleatorio title="Verse of the Moment" book="19" show_button="1" button_text="Read chapter"]
Attributes:
title: block title.book: book ID or book identifier. Example:book="19"for Psalms.version: Bible version ID.show_reference: show the Bible reference. Accepts1or0.link_reference: link the reference to the reader. Accepts1or0.show_button: show a chapter button. Accepts1or0.button_text: button label.
Specific or Random Verse
Shortcode:
[biblia-versiculo]
Description: displays one specific verse or a random verse.
Examples:
[biblia-versiculo livro="john" capitulo="3" versiculo="16"]
[biblia-versiculo book="43" chapter="3" verse="16"]
[biblia-versiculo livro="random" capitulo="random" versiculo="random"]
[biblia-versiculo livro="psalms" capitulo="23" versiculo="random"]
Attributes:
title: optional title.livro: book name, abbreviation, or ID.book: English alias forlivro.capitulo: chapter number orrandom.chapter: English alias forcapitulo.versiculo: verse number orrandom.verse: English alias forversiculo.version: Bible version ID.show_reference: show the reference. Accepts1or0.link_reference: link the reference to the reader. Accepts1or0.show_button: show a button. Accepts1or0.button_text: button label.
Accepted random values:
randomaleatorioaleatóriorand*
Specific or Random Chapter
Shortcode:
[biblia-capitulo]
Description: displays a specific chapter or a random chapter.
Examples:
[biblia-capitulo random="1" limite="15"]
[biblia-capitulo livro="john" capitulo="3"]
[biblia-capitulo livro="43" capitulo="3"]
Attributes:
title: optional title.livro: book name, abbreviation, or ID.book: English alias forlivro.capitulo: chapter number.chapter: English alias forcapitulo.random: enable random chapter mode. Accepts1or0.limite: limit the number of displayed verses.limit: English alias forlimite.version: Bible version ID.show_title: show the chapter title. Accepts1or0.show_button: show a button to open the full chapter. Accepts1or0.button_text: button label.
Friendly URLs
Biblia Digital supports friendly URLs and keeps compatibility with older query-string URLs.
Version-aware URL example:
/biblia-digital/versao/acf-pt-br/john/3/16/
Legacy URL example:
/biblia-digital/john/3/16/?bdwp_bible_id=1
After changing the Bible URL base in the plugin settings, go to Settings > Permalinks and click Save Changes once.
Privacy
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.
License
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.
Installation
- Upload the plugin folder to
/wp-content/plugins/, or install the ZIP file from the WordPress admin panel. - Activate EstudoBiblico Bíblia Digital.
- Go to Settings > Biblia Digital.
- Open the Import Bible tab.
- Import a ZIP file containing
books.csvandverses.csv. - Confirm that you have the right to use the imported Bible translation.
- Create a public Bible page.
- Insert the
[biblia-digital]shortcode. - If friendly URLs return 404, go to Settings > Permalinks and click Save Changes once.
Faq
No. The public package does not include Bible text. You must import a properly licensed Bible data package.
Activation creates tables and default options. Bible text import can be heavy, so it is handled from the admin panel.
Yes. Each site uses its own tables and options.
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.
Go to Settings > Biblia Digital > Shortcodes. The tab includes examples, attributes, and copy buttons.
No. .pot, .po, and .mo files translate only the plugin interface strings. Bible text comes from imported CSV files.
No. Reading and search are processed locally in WordPress. The plugin does not create tracking cookies or send visitor data to third parties.
Reviews
Changelog
1.1.70
- Nova identidade pública: nome de exibição
EstudoBiblico Bíblia Digital, slug e text domainestudobiblico-biblia-digital, eContributors: crispaorg. - Adequações solicitadas na revisão do WordPress.org.
- CSS e JavaScript de compatibilidade de tema deixam de ser impressos como
<style>/<script>e passam a usarwp_register_style(),wp_register_script(),wp_add_inline_style()ewp_add_inline_script(), carregados apenas nas páginas da Bíblia. - Sitemap: removida a gravação do índice físico na raiz do WordPress. As URLs públicas continuam as mesmas, servidas dinamicamente pelas rotas já existentes. O arquivo remanescente de versões anteriores é apagado na atualização, e apenas quando comprovadamente gerado pelo plugin.
- Traduções personalizadas enviadas pelo administrador passam a ser gravadas em uma subpasta própria dentro de
wp_upload_dir(), por site, protegida contra acesso direto.WP_LANG_DIRe a pasta do plugin não são mais usados como destino de escrita; arquivos antigos são copiados sem serem apagados e continuam sendo lidos como fallback. - Revisão de nonces, capabilities e sanitização nas ações administrativas.
- Auditoria dos avisos administrativos quanto à Diretriz 11.
- Pacote distribuído deixa de incluir
.poe.mo: as traduções passam a vir do translate.wordpress.org. - Preservados URLs públicas, shortcodes, opções, tabelas, hooks, handles e o prefixo BDWP70.
1.1.69
- Metadados: cabeçalho do plugin adequado aos requisitos oficiais do WordPress.org.
- Nome de exibição passa a
Bíblia Digital, com acentuação, no cabeçalho e no readme. O slug, o text domain, a pasta e o arquivo principal continuambiblia-digital. Plugin URIpassa a apontar para a página do plugin (https://estudobiblico.org/biblia-sagrada-online/), distinta daAuthor URI, que permanece na raiz do site.Descriptionreescrita em português, alinhada ao público do plugin.Licensenormalizada para o identificador SPDXGPL-2.0-or-later; a licença em si não muda.- Removido
Tested up todo cabeçalho PHP: não é um campo de cabeçalho de plugin reconhecido pelo WordPress e permanece declarado no readme.txt. - Nenhum
Update URIfoi adicionado, para não desviar as atualizações do WordPress.org. - Catálogos
.pote pt_BR regenerados por refletirem nome, descrição e versão.
1.1.68
- Consolida a linha 1.1.67 (abuse-fix) com o auto-reparo de schema, o reforço de importação por ZIP e o ferramental de qualidade.
- Database: adiciona
BDWP70_Activator::maybe_upgrade(), que cria/atualiza tabelas e índices em atualizações do plugin e em ativações pelos loaders legados, sem exigir reativação. A verificação inline anterior foi centralizada nesse método, agora com trava de concorrência e limpeza dos caches de runtime. - Segurança:
validate_uploaded_zip_archive()passa a recusar o upload comWP_Errorquando a extensão PHP zip está ausente, em vez de ignorar silenciosamente as validações de path traversal, contagem e tamanho. - Compatibilidade:
str_getcsv()passa a receber$escapeexplícito, eliminando o aviso de depreciação no PHP 8.4/8.5; removido o registro do hookwpmu_new_blog, depreciado desde o WP 5.1. - Internacionalização: mensagens de importação e de validação de ZIP passam a usar
__(); catálogo.potregenerado e tradução pt_BR incluída. - Qualidade/distribuição: workflow de CI (lint PHP 7.4–8.5, PHPCS/WPCS, PHPUnit em WordPress 6.6 e 7.0.x, Plugin Check sobre o ZIP),
composer.json,phpcs.xml.dist,.distignoree testes de integração. - Correções de defeito preexistente:
.gitignoreversionado continha o comando que o gerou; doze comentários corrompidos nos arquivos de sitemap foram restaurados. - Nenhuma alteração em dados, opções, slugs, nomes canônicos de livros, tabelas, shortcodes, hooks ou no prefixo BDWP70.
1.1.67
- Abuse report hardening: elimina consultas aleatórias com GROUP BY/OFFSET em runtime e usa seleção por faixa de ID indexada.
- Performance: cache persistente para existência de versões, Bíblia ativa e contagens do sitemap, reduzindo SELECT id repetido e COUNT(*) em acessos de bots.
- Database: índices complementares para contagens e seleção aleatória por bible_id/published/id.
1.1.66
- Performance: sitemap físico deixou de validar em toda requisição pública; verificação agora usa transient e só revalida periodicamente.
- Performance: versículo e capítulo aleatórios não usam mais ordenação randômica no banco.
- Performance: importação CSV usa inserção em lote real para livros e versículos.
- Performance: consultas de busca recebem cache transitório curto e índices auxiliares.
- Performance: contexto SEO possui cache interno por requisição.
1.1.65
- Remove o card automático interno de capítulos do layout do leitor, evitando que o texto bíblico seja estreitado em temas com sidebar própria.
- Adiciona botão compacto “Capítulos” no topo do capítulo, com painel suspenso contendo todos os capítulos do livro, tradução ativa e link para a lista completa.
- Mantém disponíveis o widget nativo e o shortcode [biblia-capitulos-sidebar] para uso manual em sidebars reais.
- Reforça o ajuste mobile dos botões Versículo/Corrido, ocultando o ícone que consumia espaço e evitando corte de texto.
1.1.64
- Corrige a regra de layout que empurrava o card de capítulos para depois do texto em alguns temas.
- Adiciona o widget nativo “Bíblia Digital – Capítulos do livro atual” para uso em Aparência > Widgets.
- Adiciona o shortcode [biblia-capitulos-sidebar] para inserir o card manualmente em blocos/áreas laterais.
- Ajusta o painel Aa no mobile para evitar corte nos botões Versículo/Corrido.
1.1.63
- Adiciona painel compacto de opções de leitura com tamanho da fonte, formato por versículo/corrido, fonte Padrão/Lexend e fundo de leitura.
- Adiciona persistência das preferências do leitor no navegador.
- Melhora o widget lateral de capítulos com título do livro, capítulo atual, tradução ativa e grade de navegação.
1.1.62
- Remove duplicidade da mensagem de busca sem resultados na página dedicada de busca.
- Mantém a mensagem única no resumo da busca dedicada.
- Mantém o fallback do shortcode principal e widgets quando não há resultados.
1.1.61
- Corrige definitivamente a ausência de mensagem quando a busca não encontra termo/palavra.
- A versão 1.1.60 corrigia a função de lista e a página dedicada, mas o template principal só chamava a lista quando havia itens.
- Agora o template principal também chama o fallback de sem resultados no modo de busca.
- Mantém mensagem acessível e estilizada no shortcode principal, na página dedicada e nos fluxos de busca pública.
1.1.60
- Corrige a exibição de mensagem quando uma busca não encontra termo ou palavra na Bíblia.
- A mensagem agora aparece tanto na página de busca dedicada quanto no modo de busca do shortcode principal.
- Adiciona marcação aria-live para acessibilidade e estilo visual discreto para o aviso de busca vazia.
1.1.59
- Adiciona XSL próprio para exibição visual dos sitemaps da Bíblia Digital no navegador.
- Mantém a estrutura XML pura para crawlers e buscadores.
1.1.58
- Corrige apontamentos do Plugin Check no diagnóstico do sitemap e nas consultas SQL do sitemap.
- Adiciona comentários translators em strings com placeholders.
- Remove fragmentos SQL dinâmicos de filtro published e usa ramificações preparadas/escapadas.
- Adiciona cache/declarações seguras nas consultas paginadas do sitemap sem alterar a lógica funcional da versão 1.1.57.
1.1.56
- Corrige definitivamente a geração de URLs no sitemap XML da Bíblia.
- Adiciona fallback robusto para resolver Bíblia com conteúdo real a partir da tabela de versículos.
- Evita sitemap vazio quando a tabela de livros estiver incompleta, mas os versículos existirem.
- Torna o filtro published resiliente para bases legadas.
- Mantém paginação por blocos, LIMIT/OFFSET e integração com WP Sitemap API.
1.1.51
- Fixes missing translator comments reported by Plugin Check.
- Rewrites the official readme.txt in English for repository review.
- Avoids nonce warnings for navigation-only admin tabs by reading the tab parameter safely.
- Reviews rewrite rules for version-aware Bible URLs.
- Registers public query vars used by friendly URLs and legacy query-string URLs.
- Preserves compatibility with old
?bdwp_bible_id=1URLs. - Flushes rewrite rules only when explicitly marked as stale, such as plugin activation, plugin upgrade, or SEO base changes.
- Adds clearer admin instructions to save permalinks once after changing the Bible URL base.
1.1.50
- Reorganizes the admin panel into tabs: Overview, Import Bible, Bible Versions, Frontend Translation, Shortcodes, SEO and URLs, and Diagnostics.
- Places Import Bible before Frontend Translation to reduce operational confusion.
- Adds a Shortcodes tab with cards, examples, attributes, and copy buttons.
- Updates readme.txt with all shortcodes, aliases, and attributes.
- Preserves compatibility with legacy shortcodes.
1.1.49
- Keeps the hero version display as a static badge and the functional translation dropdown below the book lists.
- Fixes dropdown stacking/overflow so version choices remain readable over the Bible landing layout.
- Preserves the plugin title image and prevents theme portal logos from replacing functional Bible images.
1.1.48
- Adds SEO-friendly Bible version paths such as
/biblia-digital/versao/acf-pt-br/john/3/16/. - Keeps backward compatibility with the previous
bdwp_bible_idquery parameter. - Moves the public translation/version selector below the Old Testament and New Testament book containers.
- Replaces the decorative separator with a functional translation selection panel.
- Preserves the selected version across books, chapters, verses, breadcrumbs, search, and pagination.
1.1.46
- Renamed the public plugin package to Biblia Digital.
- Updated the text domain to
biblia-digital. - Removed the custom update header from the public package.
- Updated the search block to API version 3.
- Rewrote the WordPress.org readme in English.
- Preserved legacy classes, options, database tables, and shortcodes.
1.1.44
- Normalized UTF-8 encoding and line endings.
- Improved admin and readme text.
- Preserved the CSV importer and safe uninstall defaults.