説明
the_post() は、ループで次の投稿に進み、投稿データをテンプレートタグ用に設定する関数です。
基本構文
the_post(): void
引数
引数はありません。
戻り値
戻り値はありません。
使い方(サンプル)
while ( have_posts() ) {
the_post();
the_title();
}
注意点
have_posts()と組み合わせて使います。- サブループで使ったあとは
wp_reset_postdata()を呼びます。
実務での使いどころ
- ループの中で、次の投稿を、取り出して、
the_title()などが使える状態にするとき。
よくあるミスと対処
while ( have_posts() )の中で、呼ばず、無限ループになる。- サブクエリのループで、
the_post()を使っている。サブクエリでは、$query->the_post()を使う。 - ループの外で呼び、意図しない投稿になる。
NG例
while ( have_posts() ) {
echo get_the_title(); // the_post() を呼んでいない
}
OK例
while ( have_posts() ) {
the_post();
the_title();
}
使い分け早見表
| 関数 | 役割 |
|---|---|
the_post() |
次の投稿を、取り出して、準備する |
have_posts() |
表示する投稿が、残っているかを確認する |
wp_reset_postdata() |
サブクエリのあとに、元に戻す |
関連項目
have_posts()、wp_reset_postdata()
公式リファレンス:the_post() | Function | WordPress Developer Resources

コメント