Show readtime & youtube duration time

✔️ Shortcodes to display estimated read time based on word count and count YouTube videos and duration time.

v.1.3.0 (16/08/25)

1. Download EasyTools
2. Upload ZIP file to WordPress
3. Activate EasyTools plugin
4. Enable [post_title]
FREE Updates
EasyTools & our add-ons is updated regularly and you receive updates completely free of charge
ShortcodeDescription
[​readtime] Read time: 6 minutes
[​readtime wpm="220" include_links="1" min="2"] depth, wpm, include_links, min, readtime_label, minute_singular, minute_plural
[​youtube_count depth="self" unique="1"] 3

Count of YouTube videos in content.

depth, unique
[​youtube_duration api_key="YOUR_KEY" cache_ttl="43200"] Videos total duration: 8 minutes

Total duration of all YouTube videos (via YouTube Data API).

depth, api_key, cache_ttl, videos_total_duration_label, hour_singular, hour_plural
[​content_metrics show="readtime,duration" prefix="At a glance: "] Read time: 6 minutes • Videos: 3 • Videos total duration: 8 minutes

Combined overview of reading time, YouTube video count, and YouTube video duration.

depth, show, separator, prefix, suffix, wpm, include_links, min, api_key, cache_ttl, readtime_label, videos_label, videos_total_duration_label, hour_singular, hour_plural, minute_singular, minute_plural
[​youtube_list type="ids" separator=" | " unique="1"] abc123,def456,ghi789

Helper/debug to output detected YouTube video IDs.

depth, type, separator, unique
depth="self" self - only current post/page

depth="child"
current + direct children

depth="siblings"
all siblings (same parent) excluding current

depth="siblings+child"
current + siblings + direct children

depth="total"
current + all descendants (full subtree)

Description

depth = Controls which posts are scanned. Options: self (default), child, siblings, siblings+child, total.

wpm = Words per minute used for reading time calculation. Default is 250.

include_links = Whether words inside links are counted. 0 = no (default), 1 = yes.

min = Minimum reading time (in minutes) to display. Default is 1.

readtime_label = The label text before reading time output. Default is “Read time:”.

minute_singular = Singular label for minute. Default is “minute”.

minute_plural = Plural label for minutes. Default is “minutes”.

unique = Whether to count unique YouTube IDs only. 1 = yes (default), 0 = count raw matches.

api_key = YouTube Data API key. Required for duration unless defined globally via constant or filter.

cache_ttl = Cache lifetime for YouTube API responses in seconds. Default is 86400 (24 hours).

videos_total_duration_label = Label text before total duration output. Default is “Videos total duration:”.

hour_singular = Singular label for hour. Default is “hour”.

hour_plural = Plural label for hours. Default is “hours”.

show = Comma separated list of metrics to display in content_metrics. Options: readtime, count, duration. Default is “readtime,count,duration”.

separator = String placed between metrics in content_metrics. Default is “ • ”.

prefix = Text shown before metrics output. Default is empty.

suffix = Text shown after metrics output. Default is empty.

videos_label = Label text for video count. Default is “Videos:”.

type = Used in youtube_list. Default is “ids”.

separator (in youtube_list) = Separator between IDs. Default is “,”.

[post_title] for Wordpress