Changing the Category for all posts of an Author

You could do this with a simple script.
IMPORTANT! – Backup your database before doing this & attempt at your own risk.

Create a file called changeauthorcat.php in your main WordPress folder.

<?php

include( 'wp-config.php' );

global $wpdb;

// Author username
$username="exampleuser";
// New category slug
$newCatSlug = 'examplecategory';

// find the right author
$author = get_user_by( 'login', $username );
// find the right category
$category = get_category_by_slug( $newCatSlug );

if ( $author && $category ) {

    $posts = get_posts( array(
        'numberposts' => -1,
        'author' => $author->ID
        )
    );
    if ( $posts ) {
        foreach ( $posts as $post ) {
            // update all categories
            // the last parameter of false will replace all existing categories
            // see https://codex.wordpress.org/Function_Reference/wp_set_post_categories
            wp_set_post_categories( $post->ID, array( $category->term_id ), false );
        }
    }

}

?>

Change “exampleuser” to the login of the author you want to change. Change “examplecategory” to the slug of the new category.

Navigate to http://yourdomain.com/changeauthorcat.php.
Delete the file when you’re done.

Note that this will remove every other category from these posts and only place them in the new category. Using the wp_set_post_categories function will update the database with the correct category counts as well. Read more at: https://codex.wordpress.org/Function_Reference/wp_set_post_categories