「投稿」のアーカイブを有効化する方法【WordPress】

「投稿」のアーカイブを有効化する方法【WordPress】 WordPress

WordPressのテーマを自作する際、デフォルトでは「投稿」のアーカイブは表示されず「あれ?どうやるんだっけ?」ってなることがありませんか?

今回はアーカイブを有効化する方法を紹介したいと思います。

手順① functions.phpにコードを記述する

functions.phpに下記のコードを記述してあげればOKです。

// 「投稿」のアーカイブを有効化
function post_has_archive($args, $post_type)
{
    if ('post' == $post_type) {
        $args['rewrite'] = true; // リライトを有効に
        $args['has_archive'] = 'news'; // 任意のURL
    }
    return $args;
}
add_filter('register_post_type_args', 'post_has_archive', 10, 2);

上記のコード場合「https://example.com/news」がURLとなります。

archive.phpのテンプレートを作成している場合はこちらが適用されます。ない場合はindex.phpが適用されます。

手順② パーマリングを更新

管理画面の「設定」から「パーマリンク設定」を開き「変更を保存」をクリックして更新します。

上記の「https://example.com/news」にアクセスするとアーカイブ一覧が表示されているかと思います。

以上、「投稿」のアーカイブを有効化する方法でした。

コメント

タイトルとURLをコピーしました