

Main Plugin Image
Nuvora Reading Time & Progress Bar is a lightweight, developer-friendly plugin that adds two things readers love:
AI-assisted reading time adjustment
Posts with lots of headings, bullet lists, and short paragraphs are scanned faster by readers. The plugin detects structure in your content and intelligently reduces the estimate — labelled “AI-adjusted” so readers know.
Per-post overrides via meta box
Override the calculated reading time for any post. Hide the badge or progress bar per-post, right from the editor.
Accessibility-first design
– Semantic role="progressbar" with live aria-valuenow updates
– Meaningful aria-label on every element
– Keyboard-focusable progress bar
– Fully respects prefers-reduced-motion
– Screen-reader-friendly badge with word count in ARIA label
Minimal & performant
– No jQuery dependency (vanilla JS)
– No external assets, fonts, or CDN calls
– No database writes beyond settings
– No user tracking whatsoever
– ~1.5 KB JS / ~1.2 KB CSS (gzipped)
Elementor Widget included
– Drag and drop the Reading Time widget directly in Elementor
– Full widget controls for badge display and styling
– Works seamlessly with Elementor’s responsive settings
Developer-friendly
– Template tags: rte_the_reading_time(), rte_get_reading_time()
– Filters: rte_badge_html, rte_show_badge, rte_ai_adjustment_factor
– CJK (Chinese/Japanese/Korean) content support
– Per-post type configuration
{time} placeholder)prefers-reduced-motion toggleUse in your theme:
<?php rte_the_reading_time(); // echoes "5 min read" ?>
<?php $data = rte_get_reading_time(); echo $data['minutes']; ?>
Customise badge HTML:
add_filter( ‘rte_badge_html’, function( $html, $result ) { return $html; }, 10, 2 );
Disable badge conditionally:
add_filter( ‘rte_show_badge’, ‘__return_false’ );
Tweak AI adjustment factor (0.75–1.0):
add_filter( ‘rte_ai_adjustment_factor’, function( $factor, $html ) { return 0.85; }, 10, 2 );