The WPFolks app is out on iPhone and Android. Free, no ads. Download on the App Store Get it on Google Play
Skip to main content
Login Join
Snippet · PHP

Add a Custom Reading Time Column to the WordPress Posts List

Shared by Amit Dholiya · October 24, 2026

9 views
1 upvote
Back to Snippets

Steps

  1. Add the PHP code to your child theme’s functions.php file or the Code Snippets plugin.

  2. Save and activate the snippet.

  3. Navigate to WordPress Admin → Posts → All Posts.

Hook Used

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

WordPress 6.8

Reported by the author on October 24, 2026. WPFolks has not verified this.

Not tested against WordPress 7.1.4. It may still work.

Know a different way to do this? Add your approach as a variation so folks can compare them side by side.
Submit a variation

0 comments

Proudly supported by