{"id":367735,"date":"2026-09-12T10:30:48","date_gmt":"2026-09-12T10:30:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fattami-reading-time\/"},"modified":"2026-09-12T10:30:34","modified_gmt":"2026-09-12T10:30:34","slug":"fattami-reading-time","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/fattami-reading-time\/","author":23529137,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Fattami Reading Time","header_author":"Ayoub Fattami","header_description":"Shows an estimated reading time badge on your posts, with Unicode-aware word counting (Arabic, French, CJK) and a simple shortcode.","assets_banners_color":"214ab1","last_updated":"2026-09-12 10:30:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/ayoubfattami.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"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":"ayoubfattami","date":"2026-09-12 10:30:34","revision":3692575}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3692575,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3692575,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3692575,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3692575,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3692575,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[33946,43466,27629,80,524],"plugin_category":[43],"plugin_contributors":[280352],"plugin_business_model":[],"class_list":["post-367735","plugin","type-plugin","status-publish","hentry","plugin_tags-estimated-reading-time","plugin_tags-read-time","plugin_tags-reading-time","plugin_tags-shortcode","plugin_tags-word-count","plugin_category-customization","plugin_contributors-ayoubfattami","plugin_committers-ayoubfattami"],"banners":{"banner":"https:\/\/ps.w.org\/fattami-reading-time\/assets\/banner-772x250.png?rev=3692575","banner_2x":"https:\/\/ps.w.org\/fattami-reading-time\/assets\/banner-1544x500.png?rev=3692575","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/fattami-reading-time\/assets\/icon.svg?rev=3692575","icon":"https:\/\/ps.w.org\/fattami-reading-time\/assets\/icon.svg?rev=3692575","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Fattami Reading Time adds a small, elegant \"Reading time: 4 minutes\" badge to your posts so visitors know what to expect before they start reading.<\/p>\n\n<p>Most reading time plugins rely on PHP's <code>str_word_count()<\/code>, which only understands ASCII letters and therefore undercounts French accented words, and completely ignores Arabic, Cyrillic, Chinese, Japanese or Korean text. Fattami Reading Time uses Unicode-aware counting instead:<\/p>\n\n<ul>\n<li>Latin, Cyrillic, Arabic, Hebrew and similar scripts are counted word by word (accents and apostrophes included).<\/li>\n<li>Chinese, Japanese and Korean characters are counted individually.<\/li>\n<li>Shortcodes, HTML tags, scripts and styles are stripped before counting.<\/li>\n<\/ul>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Automatic badge before or after the content of the post types you choose.<\/li>\n<li>Adjustable reading speed (words per minute).<\/li>\n<li>Custom label, or no label at all.<\/li>\n<li>Optional word count next to the reading time.<\/li>\n<li><code>[fattami_reading_time]<\/code> shortcode to place the badge anywhere (supports <code>id<\/code> and <code>label<\/code> attributes).<\/li>\n<li>Lightweight: one small stylesheet, loaded only on pages where a badge is displayed. No JavaScript, no external requests.<\/li>\n<li>Translation ready and compatible with block themes and classic themes.<\/li>\n<li>Removes its own settings when uninstalled.<\/li>\n<\/ul>\n\n<p><strong>Developer hooks<\/strong><\/p>\n\n<ul>\n<li><code>fattami_reading_time_word_count<\/code> \u2013 filter the word count of a post.<\/li>\n<li><code>fattami_reading_time_badge_html<\/code> \u2013 filter the final badge markup.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>fattami-reading-time<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Reading Time<\/strong> to choose the reading speed, the badge position and the post types.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20is%20the%20reading%20time%20calculated%3F\"><h3>How is the reading time calculated?<\/h3><\/dt>\n<dd><p>The plugin counts the words of the post content (after removing HTML and shortcodes) and divides the result by the reading speed set in the options (200 words per minute by default). The result is rounded up, with a minimum of 1 minute.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20badge%20somewhere%20else%20than%20before%20or%20after%20the%20content%3F\"><h3>Can I show the badge somewhere else than before or after the content?<\/h3><\/dt>\n<dd><p>Yes. Set the position to \"Do not insert automatically\" and use the <code>[fattami_reading_time]<\/code> shortcode wherever you like, for example in a template or a Shortcode block. You can target another post with <code>[fattami_reading_time id=\"123\"]<\/code> and change the text with <code>[fattami_reading_time label=\"Read in:\"]<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20languages%20other%20than%20english%3F\"><h3>Does it work with languages other than English?<\/h3><\/dt>\n<dd><p>Yes. The word counting is Unicode-aware and handles accented characters, Arabic, Cyrillic and CJK scripts. All strings displayed by the plugin are translatable.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. The count is done in PHP when the page is rendered, no database table is created and the stylesheet is only loaded when a badge is actually displayed.<\/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":"Shows an estimated reading time badge on your posts, with Unicode-aware word counting (Arabic, French, CJK) and a simple shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/367735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=367735"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ayoubfattami"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=367735"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=367735"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=367735"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=367735"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=367735"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=367735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}