wordpressをインストールした際の管理画面左にある投稿をつかって
index.phpではなく、archive.phpのテンプレートで記事一覧を表示するには、設定が必要。
インストールしたディレクトリにはarchive.phpがあるが、使い方がいまいちわからない。
今までは使い方がよくわからないのでfunction.phpにカスタム投稿の設定を記述して、archive-blog.phpで記事一覧を作成していたが
やはりデフォルトの投稿が気になるので使い方を調べてみた。
archive.phpはデフォルトでは無効となっている。
そのため以下の手順で設定していく
管理画面の 設定 > パーマリンク にて以下のカスタム構造にチェック
https://ドメイン名/%category%/%postname%/
とする。
この/%category%/の部分を自分の好きなスラッグとかにしてはダメ
その後、function.phpで以下を記述
function post_has_archive( $args, $post_type ) { if ( 'post' == $post_type ) { $args['rewrite'] = true; $args['has_archive'] = 'news'; //任意のスラッグ名 } return $args; } add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );
そして実際に管理画面にある投稿のカテゴリを作る
そして記事を書いてみる
そして
実際の記事にアクセスしてみる
https://ドメイン名/news/test1/
問題なく記事が表示されたら一覧にアクセスしてみる
https://ドメイン名/news/
これで問題なく表示されてたらOK