the_post() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました