Verse of the Day Widget for WP
Verse of the Day Widget for WP
Description
The Verse of the Day Widget for WP plugin delivers daily Bible verses over stunning AI-generated static or animated nature scenery, offering both spiritual inspiration and dynamic visual beauty. Each day, a randomly selected verse from the King James Version (KJV) is elegantly presented over a unique background. These traditional or modern scenes are generated by AI and served in Google’s efficient WebP format, featuring over 100 animated images and more than 50 static background images. Now, with ChatGPT-powered language translation, you can provide these verses in over 100 languages, making it easy to inspire a global audience.
While many tools like Google Translate prioritize modern readability, this plugin utilizes ChatGPT to translate the King James Version (KJV) English Bible text into over 100 languages. This approach aims to maintain a more formal phrasing and emphasis, aligning with the traditional and often literal style of the KJV itself. Verse of the Day Widget for WP includes two distinct widgets optimized for different placements: a header widget and a compact sidebar widget.
Watch our YouTube demo videos to learn more about how this widget works and its features:
– Widget Placement Demo: Watch the demo here
– Language Translation Demo: Watch the demo here
Key Features:
- Daily Bible Verses: Automatically updates daily with a randomly selected Bible verse from the KJV. The library currently includes over 50 curated verses, with more being added regularly as the widget is updated.
- Multilingual Support: Powered by ChatGPT, the widget now offers Bible verses in over 100 languages, ensuring accessibility for users around the world.
- Animated Backgrounds: Choose to display verses over beautiful, AI-generated animated WebP backgrounds. Options include using only animated images, only static images, or a mix of both for a more engaging experience.
- Beautiful Nature Photos: Each verse is displayed over a high-quality, AI-generated nature image, providing a visually appealing experience.
- Extensive Background Library: Featuring over 100 animated images and more than 50 static background images for a rich and varied visual experience.
- Font Customization: Personalize the widget’s appearance by choosing from 18 professional fonts, including Roboto, Open Sans, Inter, Lato, Source Sans Pro, Raleway, Montserrat, Nunito, EB Garamond, Merriweather, Playfair Display, Lora, Crimson Text, Roboto Mono, Source Code Pro, Fira Code, Poppins, and Quicksand.
- Dual Widget Design: Comes with two specialized widgets—one designed for prominent header placement and another optimized for sidebars, ensuring a perfect fit for your theme’s layout.
- Shortcode Support: Includes separate, reliable shortcodes for both the header and sidebar widgets ([votd_header_widget] and [votd_sidebar_widget]) for easy embedding anywhere on your site.
- Flexible Placement (Widgets & Shortcodes): Seamlessly add widgets to your header, footer, or sidebar.
Third-Party Service
This plugin uses two third-party services to function:
Verse of the Day Widget for WP API
– This API fetches random Bible verses from the King James Version (KJV) for display.
– Personal Data: The API does not collect or store any personal data.
– Access: The API is accessed at:
– https://www.freesmartphoneapps.com/verseoftheday/api/verse/
– https://www.freesmartphoneapps.com/verseoftheday/api/translate-verse/
– Privacy Policy: Refer to the API’s privacy policy here: https://freesmartphoneapps.com/privacy-policy-votd/ (Updated 2025-05-21).
OpenAI API
– This API is used to translate the Bible verses into over 100 languages, ensuring a multilingual experience.
– Personal Data: The API does not collect or store any personal data.
– Access: The API is accessed at https://api.openai.com/v1.
– Privacy Policy: Refer to OpenAI’s privacy policy here: https://openai.com/privacy.
Third-Party Fonts & Licenses
This plugin offers 18 Google Fonts as font-family options. When downloaded via Settings > “Download & Self-Host All Fonts,” the actual font files are saved to this plugin’s own /fonts/ directory (one subfolder per font, each including a LICENSE.txt). Both licenses below permit free use, modification, and self-hosted redistribution:
- Apache License, Version 2.0 (Roboto, Roboto Mono) — http://www.apache.org/licenses/LICENSE-2.0
- SIL Open Font License, Version 1.1 (Open Sans, Inter, Lato, Source Sans Pro, Raleway, Montserrat, Nunito, EB Garamond, Merriweather, Playfair Display, Lora, Crimson Text, Source Code Pro, Fira Code, Poppins, Quicksand) — https://scripts.sil.org/OFL
Until a given font is self-hosted, it is instead loaded live from Google Fonts under the same license terms; see “Third-Party Service” above for that data flow.
Installation
- Download the Plugin: Upload the plugin files to the
/wp-content/plugins/verse-of-the-day-widget-for-wpdirectory, or install the plugin directly through the WordPress plugin screen by searching for Verse of the Day Widget for WP. - Activate the Plugin: Go to the ‘Plugins’ screen in WordPress and activate the plugin.
- Configure the Widget: Navigate to the “Appearance” tab under “Widgets” in the WordPress admin menu. From there, add one of the two distinct widgets—either the header widget or the sidebar widget—to an available widget area.
- Use the Shortcode: Optionally, you can embed the widget directly into your posts and pages. Use the
[votd_header_widget] shortcode for the header version or [votd_sidebar_widget] for the more compact sidebar version.
Screenshots

Mobile view of the widget embedded within a page using the legacy shortcode with a short verse display.

Mobile view of the widget embedded within a page using the legacy shortcode with a truncated long verse display.

Mobile view of the widget displayed in Chinese (Simplified) using the legacy shortcode, demonstrating multilingual support.

Plugin settings page in the WordPress admin panel showing the Language configuration options.

Plugin settings page in the WordPress admin panel showing Background Type and Font Family customization options.
Faq
Use the shortcode [votd_verse_of_the_day_widget_for_wp] in any post or page, or add the widget through the WordPress Appearance menu.
Yes! With ChatGPT-powered translation, you can display the daily verse in over 100 languages. Simply select your preferred language in the widget’s settings.
The plugin is designed to work with most WordPress themes. If you experience any issues, please create a topic on our official WordPress support forum so our team and the community can assist you: Official Plugin Support Page
Reviews
Support for CSS Issue
By Ken (Shofar) on April 3, 2026
I had an issue with the plugin which made the site menu have a grey background, using the Divi 5.0 theme. Allen identified the problem and issued an update which fixed it. Great support, and also an excellent plugin!
Changelog
For the complete version history (all releases), see the readme.txt revision log: https://plugins.trac.wordpress.org/log/verse-of-the-day-widget-for-wp/trunk/readme.txt
8.6.0 – (2026-07-19)
- Fixed (Reliability): The daily verse (and its translation) is now fetched and cached server-side once per day, instead of every visitor’s browser calling the remote API directly on every page load. This means the widget genuinely shows the same “verse of the day” to every visitor, the remote API is contacted far less often, and if the API is briefly unreachable a short cooldown prevents every page view from retrying it during an outage.
- Fixed (Loading State): Verse text is now rendered directly into the page HTML on the server, eliminating the “Loading…” flash and removing the dependency on client-side JavaScript to display the verse text itself.
- Fixed (Translations): Verse truncation for compact widget display now applies to translated verses as well as English ones; previously, translated verses always displayed in full regardless of widget size.
- New Feature (Fonts): Added a “Download & Self-Host All Fonts” tool on the settings page. With one click, all font files are downloaded directly to your own server (Apache-2.0 / SIL OFL-1.1 licensed, both permit self-hosting), so visitor browsers no longer need to contact Google Fonts. Falls back to Google’s CDN automatically for any font not yet downloaded.
- Fixed (Accessibility): Widget output added via Appearance > Widgets was being passed through wp_kses_post(), which strips ARIA attributes, role, and tabindex by default. This silently removed the aria-live verse announcements, modal roles, and focus-management attributes needed for screen readers and keyboard navigation when the widget was added this specific way (shortcodes and blocks were unaffected). Widget output is now sanitized with a scoped allow-list that keeps this plugin’s own accessibility attributes intact, without changing what wp_kses_post() allows anywhere else on the site.
8.5.4 – (2026-07-17)
- Fixed (Backgrounds): When multiple widgets (e.g. a header widget and a sidebar widget) appeared on the same page, they previously always displayed the identical background image or animation. Each widget instance now gets its own independently randomized background.
- Fixed (Translations): The verse translation request had no timeout, so a slow or unresponsive translation endpoint could leave the widget waiting indefinitely before falling back to English. The translation request now times out after 10 seconds and falls back gracefully, matching the existing behavior of the main verse request.
8.5.2 – (2026-06-24)
- Resolved (Service Restored): A critical server outage temporarily disrupted the widget’s backend services. During this time, the Verse of the Day widget remained fully functional but served only the curated fallback verses, and translations were unavailable, verses defaulted to English rather than each WordPress user’s preferred language. The underlying server issues have now been fully resolved, and both the live verse service and multilingual translations are operating normally again. Thank you for your patience while we worked to restore everything.
8.5.1 – (2026-06-21)
- Resolved (Translations Restored): The verse translation service is back online and working normally. Multilingual support has been fully re-enabled, so verses will once again display in your selected language. Thank you for your patience while we resolved the issue.
8.5.0 – (2026-06-20)
- New (Block Editor Support): The plugin now provides native Gutenberg blocks for the modern block editor (Site Editor and post/page editor). Search for “Verse of the Day Header” or “Verse of the Day Sidebar” in the block inserter to drop the widget anywhere. Both blocks are server-side rendered, so they produce the exact same markup as the legacy widgets and shortcodes.
- Backwards Compatible: The classic “Appearance > Widgets” widgets and all existing shortcodes ([votd_header_widget], [votd_sidebar_widget], and the legacy [votd_verse_of_the_day_widget_for_wp]) continue to work unchanged. Sites running WordPress versions without the block editor are unaffected — block registration is gracefully skipped.
- Improvement: Front-end assets continue to load on demand, so the new blocks only enqueue the stylesheet, scripts, and Google Font on pages where a verse is actually rendered.
8.4.6 – (2026-06-14)
- Notice (Translations Temporarily Unavailable): The verse translation service is temporarily down. While we work diligently to resolve the issue, the widget now defaults to English so verses always display correctly. Multilingual support will return as soon as the service is restored. Thank you for your patience.
- Fixed (Accessibility): The verse text is now exposed to screen readers. A misplaced
aria-hidden="true"on the decorative background container was hiding the entire verse (including itsaria-liveregion) from assistive technology. The background image is purely decorative CSS, so the attribute has been removed and the verse is now announced correctly. - Fixed (Translations): Verse text is now URL-encoded before being sent to the translation endpoint. Previously, spaces, punctuation, and quotation marks in a verse produced malformed request URLs that could break or corrupt translations.
- Fixed (Performance): Front-end assets (stylesheet, scripts, and Google Font) now load only on pages where a Verse of the Day widget or shortcode is actually present. Previously they were enqueued site-wide on every page regardless of whether the widget appeared, adding unnecessary render-blocking requests. Assets are now registered up front and enqueued on demand from the widget/shortcode render.
- Improvement: Replaced per-request
filemtime()cache-busting with the pluginVOTD_VERSIONconstant, eliminating filesystem stat calls on every page load.
8.4.5 – (2026-06-03)
- Terminology Correction: We previously labeled animated backgrounds as “Videos” throughout the plugin, which was inaccurate. These backgrounds have always been animated WebP images, not HTML5
<video>elements. Users expecting video controls or autoplay settings would have been confused by this mislabeling. We apologize for any confusion this caused. - Changed: Admin settings “Background Type” options renamed from “Images Only” / “Videos Only” / “Both Images and Videos” to “Static Images” / “Animated Images” / “Both Static and Animated.”
- Changed: Updated all references in readme.txt including short description, feature list, and historical changelog entries to use accurate “animated image” terminology instead of “video.”
8.4.4 – (2026-06-03)
- Fixed: Corrected misleading “Background Type” labels in the admin settings. “Images Only” is now “Static Images,” “Videos Only” is now “Animated Images,” and “Both Images and Videos” is now “Both Static and Animated.” This accurately reflects that animated backgrounds are served as animated WebP images, not HTML5
<video>elements, preventing user confusion about expected video controls or autoplay settings.
8.4.0 – (2026-05-24)
- New Feature: Searchable language dropdown with instant filtering. The language selector now includes a search input that filters 100+ languages in real-time as you type, with keyboard navigation support (Arrow keys, Enter, Escape).
- Enhancement: Search results highlight matching text and display language codes (e.g., “EN”, “ES”) for easier identification of similar language names.
- Enhancement: Full ARIA accessibility for the searchable dropdown including proper
role="combobox",role="listbox", and keyboard focus management. - Enhancement: Replaced deprecated
document.execCommand("copy")with modern Clipboard API for copying shortcodes, with graceful fallback for older browsers. - Enhancement: Replaced jarring
alert()copy confirmations with smooth toast notifications that auto-dismiss after 3 seconds.
8.3.1 – (2026-05-15)
- Fixed: Resolved a regression where the “Read full verse” modal failed to appear on certain screen widths (notably around 921px) for the sidebar widget. The original fix from v8.1.74 only moved the header modal (
#votd-modal) to the<body>element, but missed the sidebar modal (#votd-modal-sidebar). The fix now usesquerySelectorAll('.votd-modal')to programmatically move ALL modals to<body>on load, ensuring consistentposition: fixedbehavior across both widgets.