記事一覧の取得をするループを記述してみるWordPressを使用してると当たり前のように見ている記事一覧の表示は、一体どのようなコードを記述して記事一覧を取得しているのか知りたくなりました。codexを読んでも「ループ」を使えば記事一覧を取得できる。いうくらいしか私には理解できませんでした。それならWordPressの記事一覧を取得するPHPコードを記述しながらの方が理解の深まりも早いように思ったので、ループでWordPressの記事一覧を取得してみます。まとめWordPressで記事一覧を取得するコードさっそくですがWordPressで記事一覧を取得するコードは以下のように記述しました。?><div>WordPressの記事一覧の取得は、記事一覧をどのように表示させるかによってループの中に記述する関数は違います。記事一覧の取得をするときに記述する「ループ」の開始と終了をするコードは必ず使います。今回は基本的なコードの記述をしてWordPressに記事一覧を取得して表示させたのですが、コードを記述したことで分かったのは、基本的に以下のことを理解する必要がありました。ループについてループの中で処理をする関数についてこの2つを基本に覚えておけば、WordPressに記事一覧を取得するときの基礎にできると思えました。AdvertisementWordPressのループを記述する記事の冒頭から、ちょくちょく登場してきた用語「ループ」はWordPressの投稿を表示するために使用するPHPコードです。WordPressの「ループ」はテーマを作成したり、既存テーマをカスタマイズするときに便利に使える機能です。index.phpのテンプレートファイルにループを記述してループ内に記事一覧を取得するループ処理を記述すると、ループ処理した投稿の情報を表示できます。私がWordPressに記事一覧の取得をしたくて記述したコードも、index.phpを作成して記事一覧を取得しました。WordPressのindex.phpでブログのトップページを表示したい。トップページのコンテンツは記事アーカイブ表示に必要な各投稿を取得して記事一覧にしたい。いうことをループの開始部分と終了部分の間に記述したHTMLやPHPコードで各投稿の表示ができるのがWordPressの「ループ」です。実際に記述してみたループとループの中のPHPコードを紐解きながら説明することの方が分かりやすいかと思います。index.phpの中で記事一覧を取得します。記事一覧を取得するループを開始するWordPressで記事一覧を取得し表示するために使うループの始まりは以下のようにコードを記述します。?>1行目がループ開始の記述です。2行目はループの終了をしています。画像なら20行目です。ループで取得する記事の一覧の取得内容はループの始まりの次に記述します。記述してループが開始すると、最新の記事と記事に関する情報をデータベースから取得するためにループ処理が始まります。Advertisementもっと細かくした説明はcodexの説明を参考にさせていただきました。データベースとの繋がりはhave_post()が$wp_query->have_posts()を呼び出し、ループカウンターと投稿配列に残った投稿の有無をチェックします。the_post()は$wp_query->the_post()を呼び出し、ループカウンターを進め、グローバルの$post変数と、全てのグローバル投稿データをセットアップします。ループが完了したら、have_posts()がfalseを返し、終了します。いうことで何がなんだか分かりませんが、ようはWordPressの投稿記事はデータベースに格納してるので、ループ処理の記述の内容でデータベースに指示を出して記事一覧の取得ができる、ということです。このとき記事一覧の取得のためにデータベースに指示する記述で必要なのが2つのWordPress関数とPHPのif文とwhile文です。have_posts関数if(have_posts()):とif文をつけて投稿記事がデータベースに存在するかどうか確認する記述です。):データベースに投稿がある場合の処理をします。have_post関数で投稿記事をwhileで繰り返して表示します。the_post()関数the_post()は次の処理をする。次の投稿を取得するためにループをする必要な記述です。これらのループ処理をまとめると以下のようになります。投稿が表示できれば、次へと進むそして一覧に存在してる投稿ごとそれぞれの何かの処理を行う記事一覧を取得したループを終了する始まりがあれば終わりもある。ループにも終わりがあります。?>WordPressがブログのヘッダーを読み込み終わってから、テンプレートまでたどり着くと、投稿のループに到達します。whileでループを回して記事一覧を取得して投稿にたどり着いたら、endwhileで終了します。AdvertisementWordPressの記事一覧を取得するループ内の記述WordPressで記事一覧の取得をするループ処理をループの始まりと終了の中に記述します。どのような記事一覧をブログに表示したいかにより、ループ処理の記述する関数も違います。ありますが、ループ内に記述する関数の内容は以下のように表示しようと思います。上記の一つずつをループ内に記述するときには、どのようにHTMLやPHP、そしてWordPressの関数を記述すればいいのか説明していきます。記事一覧で表示する記事タイトルをループの中に記述します。?></h2>the_title()はループの中で使用するWordPressの関数です。記事一覧のタイトルは<h2></h2>タグでマークアップします。取得して表示した一覧は最新の記事10件を表示します。この件数の調整をするときは管理画面の設定の「表示設定」の「1ページに表示する最大投稿数」で件数調整できます。次にループの中で処理されて表示される記事一覧のパーマリンクのURLを取得する記述をします。?>the_permalink()もWordPressの関数で、ループの中で使います。?></a></h2>the_permalink()の記述は、記事タイトルを取得する関数the_title()をリンクテキストにするのでHTMLのh2タグとaタグを合わせて記述します。?></a></h2>そうすることで記事一覧の取得したときにタイトルがリンクされた状態をブログに表示できます。次は記事一覧を取得するとき、記事本文をループ内に含めて取得する記述をします。?>the_content()もWordPress関数です。ループ内で使用することで記事の本文を取得できます。the_content()は記事の本文を全文取得します。そのため一覧として取得する一つひとつの記事の本文が全て下に長くなってしまいます。そんなときの記事の抜粋する方法は、本文中に<!–more–>クイックタグをつけます。すると先頭からそのクイックタグまでの内容のみを記事一覧で抜粋できます。<!–more–>を毎回つけるが面倒な場合はthe_content()を使わないで、the_excerpt()に切り替えて記述します。Advertisement投稿日を取得ループ処理で取得する記事一覧に投稿日を含める場合はget_the_date()を記述します。?>get_the_date()をループ内で記述して記事一覧の取得をすると記事の投稿日を文字列として取得します。表示される日付のフォーマットはWordPressの設定の一般にある「日付フォーマット」の設定が適用されます。記事一覧の取得に投稿時間も表示するときはthe_time()をループ内に記述します。?>the_time()もWordPressの関数で、ループの中で記事一覧取得をした各投稿の時間を表示する場合に記述します。画像では投稿日に寄り過ぎて見づらくなってしまいましたね..記事一覧で投稿日の表示は見るけど、投稿時間を見ることはあまりないのでお好みで実装ですね。最後に記事が属するカテゴリーへのリンクを取得する記述です。ループで取得した記事一覧の各記事が属してるカテゴリーを取得し表示されます。?>the_category()もWordPress関数です。ループの中で使う関数です。the_category()のまま記述するとulタグとliタグでリスト形式になってしまいます。これは複数のカテゴリーに属していたときに使い勝手が悪くなってしまいます。‘)のようにカンマと指定します。まとめWordPressで記事一覧の取得をするループを記述してループ処理の記述も記事にしてみました。実際に記述してみると、「こういう感じで記事一覧を取得できるんだ」みたいな文字の説明以上の理解は深まりました。記事一覧を取得してからはCSSでダサいデザインをして、しょぼい記事一覧ページに仕上げました。このまま「しょぼテーマ」を自作しようか悩んでます。投稿一覧WordPressとWeb関係のことを趣味的に学んでます。独学なので記事で間違ってることがあればご指摘ください。記事が少しでも誰かの参考になればと思います。2019.02.13WordPressを使用してると.htaccessに登場してくるmod_rewriteがあります。2018.12.31WordPressのカテゴリー設定で構造を階層化するとサイトのページ情報が分かりやすい構造にできて訪問者にもSEOにもサイトを向上することができます。2019.02.20Webサーバーやコンピューター全般で使われる「ディレクトリ」についてです。WordPress.。