BibleGet I/O


Once the plugin is installed, you will find a Bible quote block in the widgets section of the block editor.
Also available is a shortcode [bibleget] that you can use to insert Bible quotes in articles or pages from different versions of the Bible in different languages.

The text of the Bible quotes is retrieved from the BibleGet API

Sample usage of the shortcode:

  • [bibleget query="Exodus 19:5-6,8;20:1-17" version="CEI2008"]
  • [bibleget query="Matthew 1:1-10,12-15" versions="NVBSE,NABRE"]

It is also possible to place the reference for the desired Bible quote in the contents of the shortcode:

  • [bibleget version="NABRE"]John 3:16;1 John 4:7-8[/bibleget]

The Plugin also has a settings page “BibleGet I/O” under “Settings” in the Administration area, where you can choose your preferred Bible versions from those available on the BibleGet server so that you don’t have to use the version or versions parameter every time.
After you have made your choices in the settings area, remember to click on “Save”!
Once the preferred version is set you can simply use:

  • [bibleget query=“1 Cor 13”]

The style settings are customizable using the WordPress Customizer, so you can make the Bible quotes fit into the style of your own blog / WordPress website.

The Bible quote block also has a number of customizable options in the block editor which allow you to set not only the style but also the layout of the elements that make up the Bible quote.

BibleGet Website
Subscribe to the Youtube channel!
Follow on Facebook!
Follow on Twitter!


  • Inserting a Bible quote block into an article or page
  • Bible quote block: choose Bible version and insert Bible reference
  • Search results for search verses by keyword
  • Layout options for Bible version, Book and chapter reference...
  • Styling options with the WordPress Customizer


This plugin provides 1 block.

  • BibleGet I/O


  1. Go to Administration Area -> Plugins -> Add new and search for bibleget, click on Install Now
  2. Activate the plugin once installation is complete
  3. Set the preferred Bible version or versions for your Bible quotes from the settings page Administration Area -> Settings -> BibleGet I/O
  4. Set your preferred styling in the WordPress Customizer -> BibleGet I/O or when you add a Bible quote block in the block editor
  5. Add Bible quotes to your articles and pages either with the Bible quote block or with the [bibleget] shortcode
  6. Check out the WordPress playlist on youtube!


How do I formulate a Bible citation?

The query parameter must contain a Bible reference formulated according to the standard notation for Bible citations (see Bible citation on Wikipedia).
Two different notations can be used, the English style notation and the International style notation.

  • “:” is the chapter – verse separator. “15:5” means “chapter 15, verse 5”.

  • “-” is the from – to separator, and it can be used in one of three ways:

    • from chapter to chapter: “15-16″ means “from chapter 15 to chapter 16”.
    • from chapter,verse to verse (of the same chapter): “15:1-5” means “chapter 15, from verse 1 to verse 5”.
    • from chapter,verse to chapter,verse “15:1-16:5” means “from chapter 15,verse 1 to chapter 16,verse 5”.
  • “,” is the separator between one verse and another. “15:5,7,9” means “chapter 15,verse 5 then verse 7 then verse 9”.

  • “;” is the separator between one query and another. “15:5-7;16:3-9,11-13” means “chapter 15, verses 5 to 7; then chapter 16, verses 3 to 9 and verses 11 to 13”.


  • “,” is the chapter – verse separator. “15,5” means “chapter 15, verse 5”.

  • “-” same as English notation

  • “.” is the separator between one verse and another. “15,5.7.9” means “chapter 15,verse 5 then verse 7 then verse 9”.

  • “;” same as English notation

Either notation can be used, however they cannot be mixed within the same query.

At least the first query (of a series of queries chained by a semi-colon) must indicate the name of the book to quote from; the name of the book can be written in full in more than 20 different languages, or written using the abbreviated form.
See the page List of Book Abbreviations.
When a query following a semi-colon does not indicate the book name, it is intended that the same book as the previous query will be quoted.
So “Gen1:7-9;4:4-5;Ex3:19” means “Genesis chapter 1, verses 7 to 9; then again Genesis chapter 4, verses 4 to 5; then Exodus chapter 3, verse 19”.

I am requesting a long Bible quote but I’m only getting 30 verses

If you are using a version of the Bible that is covered by copyright, you will not be able to quote more than 30 verses at once. So if you request for example “Gen1” using the NABRE version, you might expect to get back Gen1:1-31 but instead you will only get back Gen1:1-30. This is a limit imposed by the legal agreements for usage of these versions, it’s not a bug, it’s by design. If you need more than 30 verses when requesting a version covered by copyright, formulate the request as multiple quotes split up into no more than 30 verses each, for example “Gen1:1-30;1:31”.

What happens if I add a Google Fonts API key?

If you add a Google Fonts API key, the BibleGet plugin will immediately test it’s validity. If valid, it will remember that you have a key and that it’s valid for 3 months. Every three months starting from this moment the BibleGet plugin will talk with the Google Fonts API to get the latest list of available Google Fonts, and will download to the plugin folders a local compressed copy of each of those fonts for the purpose of previewing them in the customizer interface.
You will need to be a bit patient the first time as it will take a couple minutes to complete the download process. A progress bar will let you know how the download is progressing. If you have a slow connection, the progress might stall for a few seconds every now an then (around 25%, 50%, and 75%), just be patient and it should continue to progress to the end. In the future, whenever the plugin talks with the Google Fonts API, the process should go a lot faster as it will only need to download new fonts.
It will also generate a css file that will load the preview of the fonts when you open the customizer interface. This does have a bit of a performance impact, and especially the first time you open the customizer it might take a minute to load. After this it should go a little faster as the fonts previews should be cached by the browser. If you are not happy with the performance impact, I would suggest to delete the Google Fonts API key.

I have added the Google Fonts API key but the list of available fonts isn’t updated

The BibleGet plugin will remember that your key is valid for 3 months. This means that it will not fetch the list of fonts from the Google Fonts API until the relative transient expires. If a new font has come out that you would like to see and use in the customizer interface for the BibleGet plugin, and you don’t want to have to wait until the transient expires in that 3 month time slot, then you can click on the “force refresh” option below your API key.

I added the Google Fonts API key but while it was processing the download it stopped with a 504 http status error

If you receive a 504 http status error it means that the connection with the Google Fonts API timed out for some reason. The BibleGet plugin tries to handle this situation by forcing the process to start again, but if instead the process comes to a halt please let the plugin author know at in order to look further into the handling of this situation. In any case you can reload the page and use the “force refresh” option below your API key and the process will pick up where it left off.

I updated the plugin to version 5.4 or later, but the new ‘Bible quote’ block doesn’t seem to be cooperating

In order to allow for new layout options, the BibleGet I/O API itself was slightly updated, and there is a little more information in the response from the server.
However Bible quotes are cached by the BibleGet plugin for a seven day period, which means that from the time of the update until about a week later the cached Bible quotes will not have the necessary information for them to work with the ‘Bible quote’ block.
If you do not want to wait seven days or until the cache expires, there is a new option in the BibleGet Settings page since version 5.7 which allows to flush the cache.
A word of caution however: the more recent updates to the BibleGet service endpoint have started imposing hard limits on the number of requests that can be issued from any given domain, IP address or referer. No more than 30 requests for one same Bible quote can be issued in a two day period, and no more than 100 requests for different Bible quotes can be issued in a two day period. If you have many Bible quotes on your website and you risk hitting the limit, it may be best not to flush the cache all at once but rather wait out the seven days until the cache expires.

Sometimes the Bible quote block is giving an error ‘Error loading block: The response is not a valid JSON response.’

If you sometimes see this error, one possible situation is that the server configuration is not able to handle large GET requests. Since the Bible quote block has many styling options, the function that renders the block every time a change needs to send all of the data from the styling options to the server in order for the render to complete successfully. However requests of type GET only allow for so much data in the request URL. You can check if this is the actual problem you are encountering by opening your browser’s Inspector Tools (for example CTRL-SHIFT-I in Google Chrome) and checking if you see a failed GET request by the api-fetch.min.js script to a wp-json endpoint something like this: /wp-json/wp/v2/block-renderer/bibleget/bible-quote?…
You can further inspect the Network tab of the browser’s Inspector Tools (this may require reloading the page and retrying the request). If you see a similar request in the Network tab with a response of ‘502 Bad Gateway’, this could be an indication that your server is hitting the buffer limit for GET requests.
To fix this, POST requests need to be made instead of GET requests, however this functionality has only been introduced in Gutenberg v8.8, released August 19th 2020. Therefore the only to fix this is to install the Gutenberg plugin with a minimum version of 8.8. This functionality will be included one of the next releases of WordPress.
To check if the issue is fixed, after installing the Gutenberg plugin again open the browser’s Inspector Tools, open the Network tab, then create a new Bible quote block. You can check the request method used in the request by the api-fetch.min.js script to /wp-json/wp/v2/block-renderer/bibleget/bible-quote?…, under Headers -> General -> Request Method, it should now show POST.

I’m not able to use some options in the Gutenberg block such as positioning of the Bible version

There was recently an update to the BibleGet I/O API which slightly changed the structure of the html that comprises the Bible quotes. It is necessary to update the plugin to v5.9 in order to be compatible with these changes.


May 18, 2018
Plugin produced the following, preventing me from gaining access to the login page to the admin panel. Deprecated: Methods with same name as their class will not be constructors in a future version of PHP; SMTheme has a deprecated constructor in /home1/wvtwopac/public_html/wp-content/themes/monamour/inc/library.php on line 2 I couldn't do anything to rid my site of the error until I finally deactivated, but now it won't actually delete, so I can't get rid of it completely.
Read all 4 reviews

Contributors & Developers

“BibleGet I/O” is open source software. The following people have contributed to this plugin.


“BibleGet I/O” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “BibleGet I/O” into your language.

Interested in development?

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



  • Fix: styling of poetic verses in NABRE version
  • Fix: error table not hidden to end user


  • Use POST requests for the ServerSideRender component if available (Gutenberg 8.8 plugin required)


  • Compatibility with WordPress 5.5


  • Fix regression in shortcode function: version attribute not working correctly


  • Fix color picker icons that weren’t showing
  • Fix positioning of search button next to search input field on first load of gutenberg block


  • Fix search for Bible verses to work with the latest updates to the BibleGet search endpoint
  • Add filter and order functionality to the search results window
  • Add possibility of inserting Bible verses from the search results into the Gutenberg block directly from the search results window


  • Fix sanitization function which was failing in some cases


  • Fix error message : Illegal string offset ‘PARAGRAPHSTYLES_FONTFAMILY’ in options.php
  • Fix typo in PHP get_option function


  • Ensure “version” attribute is preserved during transform bibleget shortcode to Bible quote block
  • Ensure Bible versions set in settings will become default and stay such, even when Bible version is changed in the Bible quote block options


  • Fix typo in PHP function


  • Better type checks on saved options when building default options
  • Ensure shortcodes will be rendered same as Gutenberg blocks


  • Fix typo in PHP update_option function


  • Ensure that default options are defined on activation


  • Gutenberg block now has all possible options in the sidebar, which are in synchronized to Customizer options
  • Customizer has better UI, even though it doesn’t have all the layout options that the Gutenberg block has
  • An update to the html output from the BibleGet server requests required an update to the plugin handling logic of the html structure
  • Better handling both from the BibleGet endpoint and from the plugin for rendering of Bible book names in WP interface language when using non catholic versions with different book numbering


  • once a traditional shortcode is transformed into a block shortcode, allow transforming the block shortcode into a ‘Bible quote’ block


  • better handling of bible quotes cache by prefixing the transients
  • added option to flush bible quotes cache from settings page


  • turn off PHP error reporting!


  • Bugfix: fixed a cleanup error on removal of the plugin


  • created Gutenberg block


  • Cleaner interface for the Google Fonts API key and better handling of different scenarios with more control in the admin interface


  • Small bugfix where a stray javascript debugging line was throwing an error
  • Small fix to new html elements and their styling on the page


  • verified compatibility with WordPress 5.4
  • Bugfix: uninstall was not taking into account the newer ajax requests and could have prevented the plugin from being uninstalled
  • Updated translations


  • verified compatibility with WordPress 5.3.2
  • added option for Google Fonts API key


  • Bugfix: corrected evaluation of shortcode parameters for correct implementation of versions and popup functionality
  • verified compatibility with WordPress 4.9


  • Enhancement: added “popup” parameter to shortcode, to allow hiding the contents of the bible quote and show it only on click in a popup


  • Minor bugfix: the jQuery Fontselect dropdown was not always opening in correspondance with the last selected font
  • Minor bugfix: the jQuery Fontselect plugin was not processing italic or bold styled fonts
  • Bugfix: typo in a PHP variable was causing an error


  • Enhancement: freely modified and implemented the jQuery Fontselect plugin by Tom Moor with it’s hardcoded list of Google WebFonts to accomodate both regular websafe fonts and google fonts


  • Enhancement: further check for incorrect server environments where a recent version of curl does not however have a correct cainfo path set with a certificate bundle
  • Enhancement: font-family selection now previews the font itself in the dropdown


  • Compatibility with WordPress 4.8
  • Minor bugfix: fixed defaults for Bible version indicator styling settings in customizer


  • Enhancement: add newline before verse number of specific formatted poetic verses in the NABRE version
  • Enhancement: add option in the WordPress Customizer for styling the Version Indicator
  • Enhancement: re-organize styling options in the customizer into subsections


  • Added check for compatibility of curl and openssl version on each website’s server with TLS v1.2 protocol for secure communications,
    also in the case of metadata updates when refreshing server data from the BibleGet server


  • Added check for compatibility of curl and openssl version on each website’s server with TLS v1.2 protocol for secure communications;
    if not compatible fall back to http request when fetching bible verses, otherwise https request to the BibleGet server will be made
  • Added ajax spinner for better user feedback when renewing metadata from the BibleGet server


  • Another bugfix, the fix that made the spacing better between verse number and verse text was also removing the specific formatting for the NABRE text


  • Remove leftover dependencies on external jquery-ui


  • Fix Portuguese language translation after 3.6


  • Fix main language translations after 3.6 overhaul (Italian, French, Spanish, German)


  • Complete overhaul of the style settings to use the WordPress customizer
  • Fix bug that prevented the favourite versions option from being used when “versions” option not used in shortcode
  • Change internal function names to be more specific, avoiding any possible conflicts with other plugins
  • Better rendering of spacing in Bible Book names and between verse numbers and verse text
  • Update language files


  • Fix possible vulnerability in the script that saves the custom css file


  • Better error handling: server errors from the BibleGet server will only be shown in backend notifications, and will not be saved in any transients. (this update is thanks to user feedback from Mr. D.N., user feedback is very helpful!)


  • Fix languages array’s German translation


  • Further enhancements on CSS styling, especially for the NABRE text
  • Added a few more localized button images
  • Small bugfix in url-encoding of parameters


  • Further enhancements on CSS styling, especially for the NABRE text


  • Updated for compatibility with WordPress 4.3
  • Added Greek translation thanks to a user contribution on the translation project website
  • Added French and German translations using automatic translation tools with a minimum quality check (probably can be made better)
  • Enhancement: cache query results locally for 24 hours using the WordPress Transients API
  • Bugfix: some code that was used for debugging in the testing process, and that created a debug file ‘debug.txt’, had not been commented out, and debug.txt file was ending up in the current theme folder (can be deleted if present!)
  • A few enhancements on CSS styling, especially for the now released NABRE text


  • Updated for compatibility with latest WordPress 4.2.2
  • Fixed small bug in css file


  • Added specific functionality for parsing NABRE text and applying NABRE specific styles




  • Bugfix for older versions of PHP that require a third parameter in preg_match_all


  • Bugfix for older versions of PHP that don’t seem to work correctly with mb_substr
  • Initialize default values for when options haven’t been set yet


  • Bugfix for versions of PHP < 5.4 that don’t support short array syntax


  • Bugfix for jquery-ui dependencies on certain WordPress installations


  • Fix missing images that weren’t included correctly in 2.0 release


  • Major version release
  • Use the new engine of the BibleGet I/O service, which supports multiple versions, dynamic indexes, multiple languages both western and eastern
  • Store locally the index information for the versions, for local integrity checks on the queries
  • Better and more complete local integrity checks on the queries, using the index information for the versions and supporting both western and eastern languages
  • Better and more complete interface for the settings page


  • Compatible with WordPress 4.0 “Benny”
  • Added local checks for the validity and integrity of the queries
  • Corrected a bug that created an error on preg_match_all for versions of PHP < 5.4
  • Use the new and definitive domain for the BibleGet I/O service


  • Corrected a bug that created an error when the server has safe_mode or open_basedir set (such as some servers with shared hosting)


  • trying to figure out the update process…


  • trying to figure out the update process…


  • Corrected a bug that created an error when there is a space in the query


  • Plugin created