WP(ワードプレス)の投稿アーカイブを任意のURLで出力する

みなさんこんにちは。
本当は今日のブログは最新のWPをダウンロードした際に、アップロードしたPDFで勝手にJPGが生成される話を
最近聞いたので、そちらを紹介したかったのですが裏付けがどうにもとれなかったので、表題の話になりました。

ではさっそく本題。

任意のURLで投稿記事一覧を表示する方法は私が知っている限り以下の2種類です。
おそらく編み出そうと思えば他の方法もありますが、一番効率よく、わかりやすくで
ピックアップするとこの2つに絞られると思います。

①固定ページにアーカイブ用のテンプレート作成し読み込ませる(テンプレートネームを付ける方法)
②既存のテンプレートを利用して表示する方法

WPを構築される方って、おそらく構築担当者によっていろんな構築方法の色ができます。
私はこれまで、通常トップページをindex.phpで作成し、こういった投稿アーカイブについては①の方法で作成する
ことが多かったのですが、昔ながらのやり方なんではないか…とちょっと疑問に思い
②の方法を試してみることにしました。

そもそもまるっきしデザインを変えたい場合は、正直テンプレートそのものを分けてしまった方が早いので
①の方法で進めるべきですが、ほとんどのウェブサイトの場合、デザインが大きく変わることはあまりないと思いますので
②で作成したほうが作業効率はアップする気がします(私の感覚ですが笑)

で、今回は②の方法をご紹介していきます。
では、さっそく!

手順①:function.phpに以下を記述し、投稿記事のアーカイブを有効にする

デフォルトの状態では、機能していない投稿記事のアーカイブページを有効にします。
下記のコードをfunction.phpに記述します。コピペでOKです。

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 );

手順②:パーマリンク設定を更新する

上記を記述後アップロードしたら必ず
管理画面の「設定」→「パーマリンク設定」→「変更を保存」をクリックして保存を行ってください。
これをしないといつまでたっても前に進みません笑
これで投稿記事のアーカイブページが表示されるようになります。

手順③:テンプレートを確認する

一般的なテーマファイルであればおそらくarchive.phpが優先されると思います。
もしなければindex.phpのテンプレートが適用されることが多いようです。
お使いのテンプレートによって適用されるテンプレートが異なるのでここは各自ご確認ください。

これで設定は完了です。これまで①の方法で作成していた方はぜひこの方法でも取り組んでみてください~!