Embed Bible Passages


Provides the ability to embed Bible Readings Plans into a post or page using a shortcode.


PLEASE NOTE: This plugin is being replaced by the Bible Reading Plans plugin (https://wordpress.org/plugins/bible-reading-plans/), which draws its Scriptures from the Digital Bible Platform (https://www.digitalbibleplatform.com/), rather than the ESV Bible Web Service (http://www.esvapi.org/api#readingPlanQuery). This was made necessary because Crossway Bibles Web Service (esv.org) have changed their API, making it impossible to access the Bible reading plans in the way this plugin does, unless one has a key issued by them before about November of 2017.

Please accept my apologies for the time it is taking to work through this. At present the Bible Reading Plans plugin is much less polished than this Embed Bible Passages one and contains fewer plans. The new plugin, however, has the potential for more versions of the Scriptures and more languages.

The Embed Bible Passages plugin provides the ability to embed Bible reading plans from the ESV Bible Web Service (http://www.esvapi.org/api#readingPlanQuery) into a post or page using a shortcode of the form [embed_bible_passage reading_plan=’bcp’]. See the screenshots for an example of how to use this tag.

The values of reading_plan can be:
bcp – Book of Common Prayer
lsb – Literary Study Bible
esv-study-bible – ESV Study Bible
every-day-in-the-word – Every Day in the Word
one-year-tract – M’Cheyne One-Year Reading Plan
outreach – Outreach
outreach-nt – Outreach New Testament
through-the-bible – Through the Bible in a Year
The default reading plan is bcp.

Note that only the bcp and through-the-bible options have been tested for this plugin. The other options are provided by the ESV Bible Web Service and should also work.

For more information about these reading plans, please see the ESVBible.org Devotions area (http://www.esvbible.org/ and select Plans menu item).

The page opens with the plan reading for the current date, as set on the client computer. An optional date picker calendar is available to enable users to choose readings for other dates.

A tag to embed the current date is also available [embed_passage_date], although this is deprecated in favor of using the date picker calendar.

The readings are provided with a link to an audio file to enable users to listen to the readings. For iPad and iPhone this file is in mp3 format. For all other systems it is in the ESV Bible Web Service API default Flash format.

Copyright 2011-2020 M.D. Green, SaeSolved:: LLC


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.


  • Sample input for page of Through the Bible in a Year.

  • Sample result for page of Through the Bible in a Year.

  • Settings page.


  1. Apply for an access code at http://www.esvapi.org/signup.

  2. Extract the embed-bible-passages folder and place in the wp-content/plugins folder. Enable the plugin.

  3. Enter your access code at your site’s WordPress Dashboard under Settings -> Embed Bible Passages.

  4. Select which default audio format you wish to use, MP3 or Flash.

  5. Select whether or not to provide the ability for users to select passages for days other than the current day by clicking on a calendar.

  6. Select whether or not to optionally show a “Powered by” attribution at the bottom of pages.

  7. Create pages and/or posts containing the shortcode of the form [embed_bible_passage reading_plan=’bcp’].



Where can I see working examples of this plugin?



Firefox for Android plays all audios on the page whenever it is opened

This has been corrected in version 1.5.

“Listen” doesn’t work or work conveniently on mobile devices. How can this be corrected?

This has been (at least largely) corrected in version 1.4. The plugin now passes all of the tests at http://www.responsinator.com/.

“Listen” is displayed in very large font. How can this be corrected?

This phenomenon appears to be caused by some other plugin or theme setting which surrounds the code which displays the word “Listen” to be displayed to be enclosed by div tags which impose the style of the class used in those tags on the contents of that pair of div tags. Changing the style of the class should correct this problem.

In addition, Version 1.2 contains a change to the way the Scriptures are loaded into the page with the intention that other plugin or theme settings will not be able to enclose the code which displays the word “Listen” in div tags.

How can the date be made to be that of the local time zone?

Version 1.3 presents the Bible readings for the day according to the time set on the user’s computer.


September 3, 2016
I had a problem and it was fixed and updated in almost no time. If you are looking to embed bible passages, trust me, as at when I posted, have seen them all and none is like this plugin. Simply the best for church sites. This is my site link
Read all 1 review

Contributors & Developers

“Embed Bible Passages” is open source software. The following people have contributed to this plugin.


Translate “Embed Bible Passages” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


  1. Provides link to mp3 files for Google Chrome, since the HTML audio player is currently not working with Chrome.

  2. Corrects the way the message concerning accessing the readings at Vanderbilt Divinity Library website is displays.


  1. Eliminates the recommendation to use TEST for the API key.

  2. Timeout time length increased to 50 seconds.


Changes made to make MP3 the only audio format. (Flash is no longer supported.)


Correction to use http or https audio files from esv.org to be used in audio player.


If the scripture fails to load from esv.org for the BCP a message is added recommending getting the readings at the Vanderbilt Divinity Library.


  1. Call to googleapis.com for query-ui.css changed to an https call instead of an http one.

  2. Added timeout of 10 seconds for retrieving Scriptures from esv.org.

  3. Corrected the way the default Access Key is loaded.


Changes the default Access Key to TEST, instead of IP in order to conform to changes in the ESV Bible Web Service API and also removes the link to obtain an Access Key, since this is not currently available at esvapi.org.


Bugfix. Corrects duplicate entry of


div id=”datepicker”> tags, which in certain cases may have caused layout issues. Also centers loading spinner image.


Cleans up some input screen layout issues.


Bugfix. Corrects path to wp-includes.


Provides an option to places the calendar inside the first block of text. (Calendar will always be above the text for screens less than 480px wide.)


Delays loading the Bible Readings until the HTML page is completely loaded to help resolve formating issues in some cases.


Adds inserting a “Loading” image in place of the Bible Readings when a new date is selected. This image is replaced by the Bible Readings when they are loaded.

1.5 =
1. Now uses the WordPress audio shortcode method to implement the audio player for MP3, thereby effecting improved fallback options for a variety of devices.

  1. Corrected a problem with Firefox for Android which, before this update, was playing all audios on the page whenever it was opened.


Uses an AJAX loading spinner with a transparent background to make it compatible with more designs.


Uses a relative AJAX URL to avoid false cross-domain blocking when more than one URL points to the same site.


  1. Provided the ability to choose MP3 or Flash for the format of the audio.

  2. Made MP3 the default for Android, as it has been for iPhone and iPad since version 0.7, since Adobe no longer supports Android.

  3. Added the use of HTML5 audio tags if MP3 is in use and provided fallback to embedded audio or a link for browsers which cannot handle HTML5 audio tags.

  4. Reordered the administrative panel.

  5. Added “Loading” image to page. This image is replaced by the Bible Readings when they are loaded.


The client’s time is used to set the date of the Bible readings loaded initially.


  1. Scriptures are loaded by jQuery both initially and by Datepicker (if it is used) to help achieve uniformity in formatting.

  2. JavaScript for Datepicker only loaded to footer when Datepicker is used.


Change loading readings from jQuery.load() to the WordPress AJAX system (https://codex.wordpress.org/AJAX_in_Plugins).


Cleanup to bring to version 1.0 status.


Correction to commitment of revision to repository in order to include new file created for version 0.7.


  1. IMPORTANT CHANGE: A correction to the shortcode naming system: The shortcode is now [embed_bible_passage reading_plan=’bcp’]. (reading-plan has been changed to reading_plan. See https://codex.wordpress.org/Shortcode_API.)

  2. The ability to use other than the default reading plan.

  3. An optional ability for users to select passages for days other than the current day by clicking on a calendar.

  4. An mp3 audio file is used for iPhone and iPad, rather than the default Flash audio file.


Improves the documentation and corrects the link in the “Powered by” attribution at the bottom of pages.


Adds the ability to optionally show a “Powered by” attribution at the bottom of pages.