You can use offset
to exclude the latest posts. Your arguments can be like:
$args = array(
'posts_per_page' => 5,
'offset' => 2,
'post__not_in' => array(827, 809),
'post_status'=>"publish",
'post_type'=>"post",
'orderby'=>"post_date",
'cat'=>'-1, -8, -9, -7, -6, -5, -4',
'paged'=> $paged
);
However as you mentioned, it will break the pagination. There is a workaround, as stated in the codex, and it offers a solution for this.
Using pre_get_posts
You can exclude 2 latest posts from your main query, by using pre_get_posts
filter:
function exclude_latest_post( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'offset', '1' );
}
}
add_action( 'pre_get_posts', 'exclude_latest_post', 1 );
You can check the codex page for the alternative, which I skipped since it’s long, and well explained on the codex itself.