Total word count for posts by one author

How can I get a total word count of one author’s posts? I would like to be able to see what the total word count of their output is, summed across all of their posts (ideally with a breakdown by category/tag/page-or-post).

Related posts

Leave a Reply

2 comments

  1. I use a plug-in called Post Word Count to sum the total number of published words across my entire site … then again, I’m the only author, so this is a pretty simple example. But you could start with this plug-in and add a filter that changes the query based on the author’s ID. Basically:

    function post_word_count_by_author($author = false) {
        global $wpdb;
    $now = gmdate("Y-m-d H:i:s",time());
    
        if ($author) $query = "SELECT post_content FROM $wpdb->posts WHERE post_author = '$author' AND post_status= 'publish' AND post_date < '$now'";
            else $query = "SELECT post_content FROM $wpdb->posts WHERE post_status = 'publish' AND post_date < '$now'";
    
    $words = $wpdb->get_results($query);
    if ($words) {
        foreach ($words as $word) {
            $post = strip_tags($word->post_content);
            $post = explode(' ', $post);
            $count = count($post);
            $totalcount = $count + $oldcount;
            $oldcount = $totalcount;
        }
    } else {
        $totalcount=0;
    }
    return number_format($totalcount);
    }
    

    This function will return a total count of all published words by that author (based on the author ID). If you don’t specify an author ID, it will return a count of all published words. This won’t count post revisions, drafts, or schedule posts, just those currently visible to users.

    Disclaimer, I haven’t tested this yet, but it’s based on the original Post Word Count plug-in and should work just fine.