{"id":309286,"date":"2026-05-14T16:42:26","date_gmt":"2026-05-14T16:42:26","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/readmark-customizable-reading-time-badge-progress-bar\/"},"modified":"2026-05-14T16:46:50","modified_gmt":"2026-05-14T16:46:50","slug":"readspan","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/readspan\/","author":23494354,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"ReadSpan \u2014 Customizable Reading Time Badge & Progress Bar","header_author":"Ibrahim Halefoglu","header_description":"Customizable reading time badge and scroll progress bar for WordPress posts and pages.","assets_banners_color":"","last_updated":"2026-05-14 16:46:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/readspan\/","header_author_uri":"https:\/\/github.com\/ibrahimhalefoglu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"ibrahimhalefoglu","date":"2026-05-14 16:46:50"}},"upgrade_notice":{"1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin settings panel \u2014 Genel tab with live preview","2":"Admin settings panel \u2014 Rozet tab","3":"Admin settings panel \u2014 Progress Bar tab","4":"Reading time badge on a post","5":"Scroll progress bar at the top of the viewport"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2305,307,9351,225949,27629],"plugin_category":[],"plugin_contributors":[262948],"plugin_business_model":[],"class_list":["post-309286","plugin","type-plugin","status-publish","hentry","plugin_tags-badge","plugin_tags-engagement","plugin_tags-progress-bar","plugin_tags-reading-progress","plugin_tags-reading-time","plugin_contributors-ibrahimhalefoglu","plugin_committers-ibrahimhalefoglu"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/readspan.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>ReadSpan adds two lightweight engagement features to your WordPress site:<\/p>\n\n<p><strong>Reading Time Badge<\/strong>\nA pill-shaped badge that displays estimated reading time, injected before, after, or both sides of post content. Supports three SVG icons (clock, book, stopwatch), custom colors, shapes, padding, and font size. Works via shortcode too.<\/p>\n\n<p><strong>Scroll Progress Bar<\/strong>\nA fixed-position progress bar (top or bottom of the viewport) that fills as the reader scrolls. Supports solid color, gradient, configurable height, and a real-time countdown feature in the badge.<\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Zero JavaScript dependencies \u2014 vanilla JS, passive scroll listener with requestAnimationFrame throttle<\/li>\n<li>CSS custom properties for instant style updates<\/li>\n<li>24 configurable settings via a clean 3-tab admin UI with live preview<\/li>\n<li>Mobile hide option (below 768 px)<\/li>\n<li>Dark mode admin UI (prefers-color-scheme: dark)<\/li>\n<li>Shortcode <code>[readspan]<\/code> support<\/li>\n<li>PHP 7.4 compatible, no Composer required on production<\/li>\n<li>Follows WordPress Coding Standards and DDD architecture<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>readspan<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin in <strong>Plugins &gt; Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Settings &gt; ReadSpan<\/strong> to configure<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20slow%20down%20my%20site%3F\"><h3>Does this slow down my site?<\/h3><\/dt>\n<dd><p>No. Assets are only loaded on singular post\/page views. The progress bar script is deferred (footer) and uses passive scroll events with requestAnimationFrame.<\/p><\/dd>\n<dt id=\"how%20does%20the%20%60%5Breadspan%5D%60%20shortcode%20work%3F\"><h3>How does the `[readspan]` shortcode work?<\/h3><\/dt>\n<dd><p>Enable the shortcode in <strong>Settings &gt; ReadSpan &gt; Genel<\/strong>. Placing <code>[readspan]<\/code> in post content activates the reading progress bar and badge on that post, even if its post type is not in your configured list. The badge itself is always positioned according to your <strong>Konum<\/strong> (position) setting \u2014 before content, after content, or both \u2014 not at the shortcode location.<\/p><\/dd>\n<dt id=\"what%20reading%20speed%20is%20used%3F\"><h3>What reading speed is used?<\/h3><\/dt>\n<dd><p>Default is 200 words per minute. You can set any value between 100 and 400 WPM from the settings panel.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20post%20types%3F\"><h3>Does it support custom post types?<\/h3><\/dt>\n<dd><p>Yes \u2014 you can select which post types display the badge and bar from the settings panel.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Show a reading time badge and a scroll progress bar on your posts and pages \u2014 fully customizable from the admin panel.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/309286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=309286"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ibrahimhalefoglu"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=309286"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=309286"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=309286"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=309286"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=309286"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=309286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}