You shouldn’t really need to “exclude” anything. Just make use of the built in loop tracking. WP_Query
will “remember” where you left off. For example:
if (have_posts()) {
while (have_posts()) {
the_post();
echo 'firstpost##';
the_content();
echo '##endfirstpost';
break;
}
}
// do some other stuff
if (have_posts()) {
while (have_posts()) {
the_post();
echo 'otherposts##';
the_content();
echo '##endotherposts';
break;
}
}
Or just roll the code into the same loop:
if (have_posts()) {
while (have_posts()) {
the_post();
if (0 == $wp_query->current_post) {
echo 'firstpost##';
else {
echo 'otherposts##';
}
the_content();
if (0 == $wp_query->current_post) {
echo '##endfirstpost';
else {
echo '##endotherposts';
}
break;
}
}