Ответы:
if ($wp_query->current_post +1 == $wp_query->post_count) {
// this is the last post
}
Измените $ wp_query на собственную переменную запроса, если вы создали новый объект WP_Query.
Я сделал небольшой пример для вас. Должен объяснить, как получить первый и последний пост в цикле WP.
$post_count = 0;
$total = count($posts);
while (have_posts()) : the_post();
if ($post_count == 1 AND $post_count !== $total)
{
// This is the first post
}
if ($post_count == $total)
{
// This is the last item
}
$post_count++;
endwhile;
if (!get_next_post_link()) {
echo 'the last post here';
}