посмотрите здесь: https://wordpress.stackexchange.com/questions/1394... - похоже это то что вам нужно!
в $next_posts - можно запихнуть все ID'шники постов которые больше > $current_post_id
$_next_post = new WP_Query( [
'posts_per_page' => 1,
'post_type' => 'projects',
'post_status' => 'publish',
'meta_query' => [
'type' => [
'key' => 'type',
'value' => [ 'archive', 'commin_soon' ],
],
],
'post__not_in' => $next_posts,
'orderby' => 'ID',
'order' => 'ASC',
] );
костыльно конечно же, но если по другому то нужно свой SQL-запрос писать, ведь не понятно как добавить в WP_Query дополнительное условие
WHERE `ID` > $current_post_id
UPD:
$next_posts - некоторые получают так:
$next_posts = range(1, 555);
555 - от балды написано, можно конечно посчитать сколько у вас всего постов с 'post_type' = 'projects', и 'post_status' = 'publish' и у которых WHERE `ID` > $current_post_id ))