Reading Time

Tell readers how long a post takes so they start reading.

Show an estimated reading time — like 4 min read — under the title, above or below your posts and in post lists. Counts words and images, handles Chinese, Japanese and Korean, and is styled live in the Customizer.

Extension

Requirements

  • WordPress 6.5 or newer
  • PHP 7.4 or newer
  • Licence: Pro ($2 / year) — add it to the cart in Moduly

Configure it

  1. Switch it on in Moduly → Installed Widgets.
  2. Click Manage on it — this opens Appearance → Customize with the Reading Time settings, next to a live preview.
  3. Change the settings; the preview updates as you go.
  4. Click Publish to make it live.

Settings

General

SettingWhat you can set
Show the reading time—
Text{minutes} is replaced with the number.
IconClock, Book or None

How it is counted

SettingWhat you can set
Reading speed100–400 · Adults read about 200–250 words a minute on screen.
Add time for images12 seconds for the first image, one second less for each one after, down to 3.

Where

SettingWhat you can set
Show onPosts, Posts and pages or Chosen posts or pages (IDs)
IDsText
PlacementUnder the title (block themes), Above the content or Below the content · Classic themes have no title hook, so "under the title" falls back to above the content there.
Also in post listsBlog, archives, search results and "more posts" lists: under each title (block themes) or above each excerpt.

Text and icon

SettingWhat you can set
ColourEmpty: the text colour around it.
Size70–130
WeightRegular or Bold
On a pill—
Pill colourColour

Tips

  • Switch it off in Installed Widgets at any time; your settings are kept for next time.

Troubleshooting

  • Classic themes can't place it under the title (no safe hook, because the_title also runs for menus and widgets). They get it above the content.
  • Page-builder content (Elementor, Divi) stored outside post_content isn't counted. The estimate then falls back to whatever text is in post_content.
  • A change not showing on the live site is almost always a page cache — clear your caching plugin or host cache.