{"id":300476,"date":"2026-05-04T04:38:07","date_gmt":"2026-05-04T04:38:07","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/minuteread-reading-time-for-posts\/"},"modified":"2026-08-22T10:55:47","modified_gmt":"2026-08-22T10:55:47","slug":"minuteread","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/minuteread\/","author":16715542,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"MinuteRead - Reading Time for Posts","header_author":"Asadujjaman","header_description":"Displays estimated reading time on your posts. Customize words per minute, label, format, and position from Settings > MinuteRead.","assets_banners_color":"11221c","last_updated":"2026-08-22 10:55:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/asadujjamann\/minuteread","header_author_uri":"https:\/\/asadsabuj.com","rating":5,"author_block_rating":0,"active_installs":10,"downloads":306,"num_ratings":1,"support_threads":2,"support_threads_resolved":2,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"asad5516","date":"2026-06-05 05:25:37"},"1.1.0":{"tag":"1.1.0","author":"asad5516","date":"2026-08-22 10:55:47"}},"upgrade_notice":{"1.1.0":"<p>Adds custom post type support and fixes reading times on posts that mix\nBengali, Arabic or CJK text with English. The reading time no longer forces\nits own bottom margin, so spacing now follows your theme. Existing settings\nare preserved.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3660419,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3660419,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3660419,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3660419,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3660419,"resolution":"1","location":"assets","locale":"","width":1600,"height":1382},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3660419,"resolution":"2","location":"assets","locale":"","width":1600,"height":1186}},"screenshots":{"1":"Reading time displayed before post content on the frontend.","2":"Admin settings page - choose post types, label, format, position, and reading speed."}},"plugin_section":[],"plugin_tags":[33946,261794,43466,261793,27629],"plugin_category":[],"plugin_contributors":[261795],"plugin_business_model":[],"class_list":["post-300476","plugin","type-plugin","status-publish","hentry","plugin_tags-estimated-reading-time","plugin_tags-minute-read","plugin_tags-read-time","plugin_tags-reading-duration","plugin_tags-reading-time","plugin_contributors-asad5516","plugin_committers-asad5516"],"banners":{"banner":"https:\/\/ps.w.org\/minuteread\/assets\/banner-772x250.png?rev=3660419","banner_2x":"https:\/\/ps.w.org\/minuteread\/assets\/banner-1544x500.png?rev=3660419","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/minuteread\/assets\/icon-128x128.png?rev=3660419","icon_2x":"https:\/\/ps.w.org\/minuteread\/assets\/icon-256x256.png?rev=3660419","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/minuteread\/assets\/screenshot-1.png?rev=3660419","caption":"Reading time displayed before post content on the frontend."},{"src":"https:\/\/ps.w.org\/minuteread\/assets\/screenshot-2.png?rev=3660419","caption":"Admin settings page - choose post types, label, format, position, and reading speed."}],"raw_content":"<!--section=description-->\n<p>MinuteRead adds an estimated reading time label to your WordPress posts - helping readers decide whether to dive in or save it for later.<\/p>\n\n<p>After activating the plugin, reading time appears automatically on your posts - and on any other post type you enable. Everything is configurable from <strong>Settings &gt; MinuteRead<\/strong>.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Choose which post types show reading time - posts, pages, or any custom post type<\/li>\n<li>Choose to show reading time before or after the content<\/li>\n<li>Configurable words-per-minute reading speed (default: 200, range: 50-1000)<\/li>\n<li>Custom label text - change \"Estimated Reading Time\" to anything you like<\/li>\n<li>Custom time format - use \"%d min\", \"%d minutes\", or any text with %d as placeholder<\/li>\n<li>Enable \/ disable without deactivating the plugin<\/li>\n<li><code>[minuteread_time]<\/code> shortcode - place reading time anywhere, or <code>[minuteread_time id=\"123\"]<\/code> for a specific post<\/li>\n<li>Works with non-Latin scripts (Bengali, Arabic, CJK, etc.)<\/li>\n<li>Lightweight: no jQuery, no external requests<\/li>\n<li>Developer-friendly: <code>minuteread_reading_time_output<\/code>, <code>minuteread_word_count<\/code>, <code>minuteread_output_html<\/code> filters<\/li>\n<li>Translation-ready<\/li>\n<\/ul>\n\n<p><strong>Shortcode usage:<\/strong><\/p>\n\n<p>Place <code>[minuteread_time]<\/code> in any post, page, or widget to show the reading time\nfor the current post. To target a specific post, pass its ID:\n    [minuteread_time id=\"123\"].<\/p>\n\n<h3>Why Use This Plugin?<\/h3>\n\n<ul>\n<li>Improve user engagement<\/li>\n<li>Reduce bounce rate<\/li>\n<li>Help readers estimate time commitment<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>minuteread<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Visit <strong>Settings &gt; MinuteRead<\/strong> to configure the plugin<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20all%20themes%3F\"><h3>Does it work with all themes?<\/h3><\/dt>\n<dd><p>Yes. The reading time is injected via the standard <code>the_content<\/code> filter, which is supported by every properly coded WordPress theme.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20words-per-minute%20speed%3F\"><h3>Can I change the words-per-minute speed?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings &gt; MinuteRead<\/strong> and update the \"Words per minute\" field. The default is 200 (average adult reading speed). Accepted range: 50-1000.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20label%20text%3F\"><h3>Can I change the label text?<\/h3><\/dt>\n<dd><p>Yes. Use the <strong>Label<\/strong> field in Settings to replace \"Estimated Reading Time\" with any text you prefer - including text in your own language.<\/p><\/dd>\n<dt id=\"can%20i%20change%20how%20the%20time%20is%20displayed%3F\"><h3>Can I change how the time is displayed?<\/h3><\/dt>\n<dd><p>Yes. Use the <strong>Time Format<\/strong> field. The placeholder <code>%d<\/code> will be replaced with the number of minutes. Examples: <code>%d min<\/code>, <code>%d minutes<\/code>, <code>%d dakika<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20reading%20time%3F\"><h3>Can I style the reading time?<\/h3><\/dt>\n<dd><p>Yes. The output is wrapped in <code>.minuteread-reading-time<\/code> - a <code>&lt;p&gt;<\/code> for the\nautomatic output, a <code>&lt;span&gt;<\/code> for the shortcode. Add your own rules under\nAppearance &gt; Customize &gt; Additional CSS (classic themes) or Appearance &gt;\nEditor &gt; Styles &gt; Additional CSS (block themes). For full control of the\nmarkup, use the <code>minuteread_output_html<\/code> filter.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20reading%20time%20only%20in%20specific%20locations%3F\"><h3>Can I show the reading time only in specific locations?<\/h3><\/dt>\n<dd><p>Yes. Untick every post type under \"Show On\" to turn off automatic insertion, then\nplace the <code>[minuteread_time]<\/code> shortcode exactly where you want it. Inside the loop\nit uses the current post; outside it, pass an ID: <code>[minuteread_time id=\"123\"]<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20bengali%2C%20arabic%2C%20or%20other%20non-latin%20scripts%3F\"><h3>Does it work with Bengali, Arabic, or other non-Latin scripts?<\/h3><\/dt>\n<dd><p>Yes. Words are counted in a Unicode-aware way, so text that mixes scripts - Bengali\nwith a few English terms, for example - is counted correctly. Chinese and Japanese,\nwhich do not put spaces between words, are counted by character instead.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20custom%20post%20types%3F\"><h3>Does it work with custom post types?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings &gt; MinuteRead<\/strong> and tick the post types you want under\n\"Show On\" - every public post type registered on your site is listed. Developers\ncan also override the list with the <code>minuteread_post_types<\/code> filter.<\/p><\/dd>\n<dt id=\"is%20it%20translation-ready%3F\"><h3>Is it translation-ready?<\/h3><\/dt>\n<dd><p>Yes. WordPress automatically loads translations for plugins hosted on WordPress.org.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: choose which post types show reading time (Settings &gt; MinuteRead &gt; Show On)<\/li>\n<li>New: <code>minuteread_post_types<\/code> filter for developers<\/li>\n<li>New: the shortcode accepts an ID - <code>[minuteread_time id=\"123\"]<\/code><\/li>\n<li>Fixed: wrong reading time on posts that mix a non-Latin script with a few Latin words, such as Bengali text containing English terms<\/li>\n<li>Fixed: Chinese and Japanese content is now counted by character instead of reporting one minute<\/li>\n<li>Fixed: the stylesheet now loads when the shortcode is used outside post content<\/li>\n<li>Fixed: the post type setting is removed on uninstall<\/li>\n<li>Changed: the reading time no longer forces its own bottom margin - spacing now follows your theme<\/li>\n<li>Docs: documented the CSS class and the output filter<\/li>\n<li>Tested up to WordPress 7.1<\/li>\n<li>Requires PHP 7.4 or higher (matches WordPress core's own minimum since 7.0)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Automatic reading time display on single posts<\/li>\n<li>Before \/ after content position option<\/li>\n<li>Configurable words-per-minute setting (50-1000)<\/li>\n<li>Custom label and time format<\/li>\n<li>Enable \/ disable toggle<\/li>\n<li>Non-Latin language support (Bengali, Arabic, CJK)<\/li>\n<li>[minuteread_time] shortcode support<\/li>\n<li>Developer filters: minuteread_reading_time_output, minuteread_word_count, minuteread_output_html<\/li>\n<li>Translation-ready<\/li>\n<\/ul>","raw_excerpt":"Show estimated reading time on posts, pages, and custom post types. Customize label, format, position, and reading speed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300476"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/asad5516"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300476"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300476"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300476"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300476"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300476"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}