投稿一覧ページを作成する
WordPressで投稿一覧ページを作成するには、下記のいずれかで設定します。
標準のまま使う
WordPressの標準では、「http://WordPressをインストールしたURL/
」(トップページ)で投稿一覧が表示されます。ここで使用されるテンプレートは、テーマフォルダ( WordPressを設置したフォルダ/wp-content/themes/使用中のテーマフォルダ
)内にある「front-page.php
」>「home.php
」>「index.php
」の順で最初に見つかったファイルです。(下記の図の左側の流れになります。標準では、「フロントページの表示」が「最新の投稿」になっており、フロントページと投稿一覧ページが同じURLで表示されるようになっています)
※ テーマが子テーマ(別のテーマの拡張テーマ)になっていて、子テーマ側にファイルがない場合は親になっている元のテーマフォルダからもファイルが探されます。
※ 投稿データの出力コードなどは「WordPressテーマ用サンプルコード」などが参考になるかもしれません。
「フロントページの表示」を「固定ページ」にする
管理画面の「設定」>「表示設定」>「フロントページの表示」を「固定ページ」にすると、「フロントページ」で指定した固定ページがトップページに表示され、「投稿ページ」で指定した固定ページが投稿一覧になります。
設定手順は下記のとおりです。
- フロントページ用の固定ページと投稿一覧用の固定ページを作成します。
- 管理画面の「設定」>「表示設定」>「フロントページの表示」を「固定ページ」に変更します。
- 2の設定の下にある「フロントページ」「投稿ページ」を1で作成したページにします。
この設定を行うと、フロントページと投稿ページのURLが分かれ、「投稿ページ」に指定したページのURLが投稿一覧ページのURLになります。また、テンプレートはテーマフォルダ内にある「home.php
」>「index.php
」の順で最初に見つかったファイルになります。(下記の図の右側)
※「WordPressで固定ページをブログのトップとして記事を一覧表示する方法 *Ateitexe」さんでわかりやすく紹介されています。
投稿アーカイブを有効にする (WordPress 4.4以降)
カテゴリーや日付ではない投稿のアーカイブは標準では無効にされていますが、functions.phpなどの設定で有効にすることができます。(WordPress 4.4以降で使用できます)
1. functions.phpに下記のように記載します。
1 2 3 4 5 6 7 8 9 10 11 12 |
/* * 投稿にアーカイブ(投稿一覧)を持たせるようにします。 * ※ 記載後にパーマリンク設定で「変更を保存」してください。 */ function post_has_archive( $args, $post_type ) { if ( 'post' == $post_type ) { $args['rewrite'] = true; $args['has_archive'] = 'post-all'; // ページ名 } return $args; } add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 ); |
※ 上記は「http://WordPressをインストールしたURL/post-all/」で投稿一覧ページが見れるようにするものです。'post-all'
の箇所は好きな名前に変更できます。
2. 管理画面の「設定」>「パーマリンク設定」の「変更を保存」ボタンをクリックします。
この場合、トップページはhome.php
やindex.php
、投稿一覧はarchive.php
やindex.php
がテンプレートになります。
固定ページに投稿一覧を表示させる
投稿一覧用の固定ページを1つ作成し、独自の固定ページテンプレートを用意して投稿一覧を用意することもできます。
(「[WordPress]固定ページで記事一覧を表示するために行き詰まったあれこれ *Ateitexe」さんを参考にしてください)
更新履歴
- 2016/08/12 テンプレートの流れの図の追加など一部加筆しました。
- 2016/03/02 初版