get_posts() のパラメータ offset を指定すると、その数だけ読み飛ばしてから記事を取得してくれます。省略時の offset はゼロだというわけです。get_posts() の説明ページの用例が参考になります。
offset でも良いのですが、この方法だと個別にデータベースアクセスが発生していまいます。
同一ページ内の別の箇所に表示するのであれば、最新の3記事を一度に取得しておき、配置したい箇所では、添字配列で記事内容を取得する方法も可能かと思います。
$recent_posts = get_posts( array( 'posts_per_page' => 3 ) );
// 最新の記事を表示
if ( isset( $recent_posts[0] ) ) {
$post = $recent_posts[0];
setup_postdata( $post );
the_title();
the_permalink();
the_content();
wp_reset_postdata();
}
// 1つ前の記事を表示
if ( isset( $recent_posts[1] ) ) {
$post = $recent_posts[1];
setup_postdata( $post );
the_title();
the_permalink();
the_content();
wp_reset_postdata();
}
// 2つ前の記事を表示
if ( isset( $recent_posts[2] ) ) {
$post = $recent_posts[2];
setup_postdata( $post );
the_title();
the_permalink();
the_content();
wp_reset_postdata();
}
なるほどです、ありがとう御座いました。
それぞれの方法で取得表示の確認ができました。
offsetの設定でもできましたが、今回はjim912様に頂いたアドバイスの方法で対応してみたいと思います。
皆様、感謝申し上げます!