Steps
-
Add the PHP code to your child theme’s
functions.phpfile or the Code Snippets plugin. -
Save and activate the snippet.
-
Navigate to WordPress Admin → Posts → All Posts.
Hook Used
-
manage_posts_columns— Adds the Reading Time column. -
manage_posts_custom_column— Displays the estimated reading time.
Type: WordPress Admin Customization
Output: Each post displays an estimated reading time based on its content, assuming an average reading speed of 200 words per minute.
Customize: Change 200 to adjust the assumed reading speed.
function custom_add_reading_time_column( $columns ) {
$columns['reading_time'] = 'Reading Time';
return $columns;
}
add_filter( 'manage_posts_columns', 'custom_add_reading_time_column' );
function custom_display_reading_time_column( $column, $post_id ) {
if ( 'reading_time' !== $column ) {
return;
}
$content = get_post_field( 'post_content', $post_id );
$content = strip_shortcodes( $content );
$content = wp_strip_all_tags( $content );
$word_count = str_word_count( $content );
$reading_time = max( 1, (int) ceil( $word_count / 200 ) );
echo esc_html( $reading_time . ' min' );
}
add_action( 'manage_posts_custom_column', 'custom_display_reading_time_column', 10, 2 );
Tested on
Reported by the author on October 24, 2026. WPFolks has not verified this.
Not tested against WordPress 7.1.4. It may still work.
