WordPressの制御構文 ループ

なわて投稿サムネイル

ループによりデータが取得される仕組み

アーカイブページ https://nawate.jp/?cat=1

投稿 https://nawate.jp/?p=1

固定ページ https://nawate.jp/?page_id=1

 

$wp_query メインクエリ WordPressクエリ

WordPressがURLに準じてデータベースからデータを取得する。

その取得したデータを$wp_queryに保存する。

 

メインクエリ・WordPressクエリとは

WordPressがURLのパラメータに準じでデータベースから取得したデータ。

 

∴ メインクエリ・WordPressクエリ = データ

 

アーカイブページが表示される仕組み

①https://nawate.jp/?cat=1にアクセス

②WordPressがパラメータ(?cat=1)に準じたデータをデータベースに要求し検索する。

③WordPressはデータベースを検索して取得したデータを$wp_queryに保存する。

※カテゴリーページの場合はパラメータのカテゴリーに属する全ての投稿データが保存される。

④ループを使い$wp_queryからデータを取り出す。

while( have_posts() ):

the_post();

the_title();

endwhile;

 

have_posts()の働き

表示するデータが$wp_queryに存在していればtrueなければfalse。

存在する投稿数分の回数がループする。

 

the_post()の働き

$wp_queryから1投稿分の投稿データを順に取り出す。

取り出した1件分の投稿データを$postに保存する。

取り出した投稿データを$wp_queryから削除する。

 

the_title();の働き

タイトルの表示。

※ループ内で使用するのが前提のテンプレートタグ。

 

⑤全部データを$wp_queryから取り出したら$wp_query内にデータが無くなる。

⑥have_posts()はfasleを返すのでループは終了する。