Description
We recently launched the website PrayTime.me with the aim of creating a community for believers and those seeking spiritual peace.
Wishing to make the Bible available directly on our website for free — and finding no viable way to do so using existing tools or plugins — we decided to develop this plugin to distribute at no cost to anyone running a site on this platform.
Credit
Although the plugin is free, we kindly ask you to enable the CREDIT checkbox which is found in Settings, in order to recognize our effort to make this plugin available for free.
Donate
We thank you for your donation and wish you great success in your mission to share the Bible with everyone, free of charge.
Bible usage rights
Translation
Usage rights
BSB
Dedicated to the public domain on April 30, 2023. Publisher’s statement
ASV
Original 1901 text is public domain. Distribution notice
AKJV
American King James Version was dedicated to the public domain, allowing copying, selling and modifying. Dedication
CPDV
SacredBible states its text and files are public domain unless otherwise indicated. Original source
DBT
Historical Darby text is public domain. Distribution notice
DRB
Historical Douay-Rheims/Challoner text is public domain. Distribution notice
ERV
Historical English Revised Version is public domain; confirm the exact edition because other translations share that abbreviation.
JPS / WEY
JPS 1917 is public domain; historical Weymouth editions are public domain in the US. Later JPS translations have different rights. JPS explanation, Weymouth example
NHEB
Published as a public-domain translation. Publisher’s foreword
SLT
Julia E. Smith’s historical translation is public domain; verify the dataset contains that text.
WBT
Webster’s historical translation is public domain. Distribution notice
WEB
Text is public domain, but “World English Bible” is a trademark; the publisher asks that modified text use another name. Publisher’s terms
YLT
Historical Young’s Literal Translation is public domain. Distribution notice
Settings
Tools PrayTime.me Bible Verses Settings holds the site-wide defaults; /Shortcode attributes override them.
- Translations: the default translation, which translations are enabled, whether translation descriptions are shown, and the chapter the reader opens at.
- Appearance: accent colour, light / dark / automatic colour scheme, flowing or one-verse-per-line text, verse numbers, and stacked or side-by-side columns when comparing up to three translations.
- Verse of the day: rotate through an editable list of references, or pick a random verse each day.
- Reader links: addresses like /bible/web/john/3/ on a chosen reader page (needs a non-plain permalink structure).
- Sharing: Copy and Share buttons on passages, with click-to-copy verse numbers.
- Credit: an optional “This plugin is freely offered by PrayTime.me” line linking to PrayTime.me. It is off until the site owner enables it.
- Data: keep the Bible texts and settings when the plugin is deleted.
Uninstall
Deleting the plugin from the Plugins screen drops its three tables and its settings, unless “Keep the Bible texts and settings” is enabled in the settings. Deactivating always keeps them.
Screenshots






Installation
This section describes how to install the plugin and get it working.
- You can install the plugin by uploading the .zip file in the plugins section of WordPress, or by adding the files to the folder
/wp-content/plugins/praytime-me-bible-verses. Activate the plugin through the
Pluginsmenu in WordPress.On activation the plugin creates three tables (wp_praybive_bibles, wp_praybive_books, wp_praybive_verses, using your table prefix) and imports the bundled SQL (data/bibles-data.txt) into them: 13 translations, 66 books and about 405,000 verses.
The import is too large for a single request, so it runs in short batches in the background (WP-Cron). Progress is shown under
Tools → PrayTime.me Bible Verses, where an administrator can also run it in the browser. On sites where WP-Cron is disabled, use the button there or runwp praytime-me-bible-verses import.- Make sure the plugin data was successfully imported. To check that, you must go to the plugin settings
Tools → PrayTime.me Bible Verses → Settingsin the Import & usage tab. If the import was not done automatically, simply press the Run import now button to import the needed data for the plugin to work properly. - Create or Edit a page/post where you want to display the Bible. Inside the page/post body add the
/Shortcode[praytime_bible_verses]. - Visit your new/edited page/post to see the newly added Bible.
- Check the plugin settings for multiple render capabilities. To access the Settings page follow the path
Tools → PrayTime.me Bible Verses → Settings
Demo
You can see a live demo on our website on the Bible page or in the WordPress Playground
Usage
The following /Shortcodes can be used to display different kind of verses, or chapters of the Bible Translations
[praytime_bible_verses]— a reader with translation, book and chapter pickers and previous/next chapter links.[praytime_bible_verses reference="John 3:16"]— a single verse in the default translation (BSB unless changed in the settings).[praytime_bible_verses reference="Psalm 23" bible="WEB"]— a whole chapter.[praytime_bible_verses reference="Romans 8:28-30" bible="WEB,YLT,ASV"]— translations side by side.[praytime_bible_verses reference="Genesis 1:1" bible="all"]— every translation.[praytime_bible_verses book="John" chapter="1" verses="1-5"]— the same as reference, as separate attributes.[praytime_bible_verses reference="John 1" browse="yes"]— the reader, opened at a chosen chapter.[praytime_verse_of_the_day]— a verse that changes every day; also acceptsbibleandshow_info.show_info="no"/show_info="yes"— hides or shows the translation descriptions, overriding the setting.
Translations (bible="…"): BSB, ASV, AKJV, CPDV, DBT, DRB, ERV, JPS / WEY, NHEB, SLT, WBT, WEB, YLT.
For developers: verse provider API
Other plugins (for example a bridge that posts a daily verse to a community plugin) can read verses as structured data through three filters. They are read-only: nothing is rendered, saved or scheduled. Pass null as the value, so the result stays null when this plugin is not active.
- Method definition:
apply_filters( 'praybive_get_verse', null, $args )— a passage.$args:
reference(required) —John 3:16,John 3:16-18orPsalm 23.translation— a code such asWEB; empty means the default translation. Must be enabled in the settings.max_verses— refuse longer passages (0, the default, means no limit). Useful for user-typed commands.
- Method definition:
apply_filters( 'praybive_get_verse_of_the_day', null, $args )— the verse the[praytime_verse_of_the_day]shortcode shows for a date, following its settings.$args:
date—Y-m-d; empty means today intimezone.timezone— a PHP timezone such asEurope/Bucharest; empty means the site timezone.translation— empty means the verse of the day translation.
Both return either a WP_Error or this array (date only for the verse of the day):
array(
'api_version' => 1,
'reference' => 'John 3:16-17',
'book' => 'John',
'chapter' => 3,
'verse_start' => 16,
'verse_end' => 17,
'text' => 'For God so loved the world, … For God sent not his Son …',
'verses' => array( array( 'number' => 16, 'text' => '…' ), array( 'number' => 17, 'text' => '…' ) ),
'translation' => 'WEB',
'attribution' => 'World English Bible - https://worldenglish.bible/',
'url' => 'https://example.com/bible/?praybive_bible=web&praybive_book=43&praybive_chapter=3',
'hash' => 'md5 of translation, reference and text',
'date' => '2026-10-09',
)
attributionis the translation’s credit line; show it next to the text.urllinks to the chapter on the reader page chosen in the settings, or is empty when none is chosen.hashis stable for the same translation, reference and text, so it can be stored to avoid posting a verse twice.
Error codes: praybive_not_ready (the import has not finished), praybive_unknown_translation, praybive_invalid_reference, praybive_not_found, praybive_too_long, praybive_invalid_date, praybive_invalid_timezone.
- Method definition:
apply_filters( 'praybive_get_translations', null )lists the enabled translations asarray( 'code' => 'WEB', 'attribution' => '…', 'is_default' => true )items, for a settings screen. It is empty until the import has finished.
The praybive_api_loaded action fires on plugins_loaded with the API version (1). The version only changes if the returned arrays change in a way that could break callers.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“PrayTime.me Bible Verses” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “PrayTime.me Bible Verses” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
First release
1.0.1
Updated readme file by adding Changelog and the Installation tab
1.0.2
Added a screenshot about how to install the plugin in the page editor
1.0.3 – 1.0.5
Small readme changes for better understanding of the plugin
1.1.0
Added the developers API for other plugins to be able to read verses as structured data through three filters
1.1.1
- Removed KJV Translation, since it is protected in UK by copyright law
- Added bible usage rights
1.1.2
- Added the possibility to increase/decrease the font size
- Added a button to see the bible on fullscreen
1.1.3
Fixed readme file
