Here is a (bit of a hacky) way do do this. Be sure you only show comments on single posts or/and single Pages or/and singe attachment pages (usually default). Put this in your theme’s functions.php:
function comment_pagination_query( $query ) {
$category = 25; // category ID
$number_of_comments_for_category = 5; // comments_per_page for category 25
$normal_number_of_comments = 3; // comments_per_page for all other categories
if (!is_admin() && $query->is_main_query()){
if(is_singular()) { // single post, page, attachment
if(isset($query->query_vars['name']) && $query->query_vars['name']) {
$the_post = get_posts('posts_per_page=1&name='.$query->query_vars['name']);
if(isset($the_post[0]->ID) && $the_post[0]->ID) {
if(has_term( $category, 'category', $the_post[0]->ID)) {
update_option('comments_per_page', $number_of_comments_for_category);
} else {
update_option('comments_per_page', $normal_number_of_comments);
}
}
}
}
}
}
add_action( 'pre_get_posts', 'comment_pagination_query' );
Change the variables to the category and number of posts you want:
$category = 25; // category ID
$number_of_comments_for_category = 5; // comments_per_page for category 25
$normal_number_of_comments = 3; // comments_per_page for all other categories