WordPressの投稿の一覧ページを作成するにはアーカイブを有効化する必要があります。
CPTUIなどのプラグインを使うとカスタム投稿タイプを作成し、アーカイブページの有効化なども設定画面から変更できるのですが、WordPressの標準で用意されている投稿(post)の設定を変更することは出来ませんので、今回の方法で有効化する必要があります。
投稿タイプ「投稿(post)」に対してアーカイブページを設定するにはカスタム投稿タイプと同様に「register_post_type_args」というフィルタフックを使って有効化することができます。
/* 投稿アーカイブを有効にしてスラッグを指定する */
function post_has_archive( $args, $post_type ) {
if ($post_type === 'post') {
$slug = 'news'; // アーカイブを表示させたいスラッグ名を指定
$args['labels'] = array(
'name' => 'ニュース' // 管理画面のメニュー名を指定
);
$args['has_archive'] = $slug;
$args['rewrite'] = array(
'slug' => $slug,
'with_front' => false,
);
}
return $args;
}
add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );
3行目で投稿タイプが「投稿(post)」だったらという判定を行っています。
4行目でアーカイブを表示するためのスラッグ名を指定します。
5行目〜7行目では管理画面に表示するためのラベルを指定します。指定をすると管理画面の「投稿」というメニューが変わります。
8行目でアーカイブの有効化をしています。
9行目〜12行目でリライトの有効化をしています。
16行目フィルターフック「register_post_type_args」を使って設定しています。