【WordPress】通常投稿のアーカイブページの作成

通常投稿のアーカイブページ(一覧ページ)を表示させるための手順とその際のページタイトルの変更方法について記載します。
なおWordPressテーマにはCocoonを使用しています。

読みたい箇所へ移動する

記事一覧ページの作成

  1. 管理画面の左サイドメニューより’外観’を選択します。
  2. サブメニューの’Theme Editor’をクリックします。
  3. 右のファイル一覧からfunctions.phpをクリックします。
  4. 下記のコードを既に記述しているコードの下に追記します。

追記前に必ずバックアップを行うようにして下さい。記述が間違っているとサイトエラーが発生します。

    /* 投稿アーカイブページの作成 */
    function post_has_archive($args, $post_type)
    {
        if ('post' == $post_type) {
            $args['rewrite'] = true;
            $args['has_archive'] = 'articles'; //任意のスラッグ名
        }
        return $args;
    }
    add_filter('register_post_type_args', 'post_has_archive', 10, 2);

今回はスラッグ部分を記事一覧という意味を込めて’articles’としています。
これでhttps://○○○○(任意のドメイン)/articles/にアクセスすると通常投稿の記事一覧を見ることが出来ます。
しかしページタイトルの部分がArchivesと表示されています。このタイトルを’記事一覧’と変更します。

記事一覧ページのタイトルを変更する

再びfunctions.phpを開いて下記のコードを追記します。

しつこいようですがfunctions.phpを追記する際は必ずバックアップを取って下さい。

    /* アーカイブページのタイトル変更 */
    function my_archive_title($title)
    {
        if (is_post_type_archive('articles')) {
            $title = post_type_archive_title('', false);
        }
        $title = '記事一覧';
        return $title;
    };
    add_filter('get_archive_chapter_title', 'my_archive_title');

まとめ

これでページタイトルを’Archives’から’記事一覧’に変更することが出来ました。最終的なコードは下記となります。

    /* 投稿アーカイブページの作成 */
    function post_has_archive($args, $post_type)
    {
        if ('post' == $post_type) {
            $args['rewrite'] = true;
            $args['has_archive'] = 'articles'; //任意のスラッグ名
        }
        return $args;
    }
    add_filter('register_post_type_args', 'post_has_archive', 10, 2);

    /* アーカイブページのタイトル変更 */
    function my_archive_title($title)
    {
        if (is_post_type_archive('articles')) {
            $title = post_type_archive_title('', false);
        }
        $title = '記事一覧';
        return $title;
    };
    add_filter('get_archive_chapter_title', 'my_archive_title');
読みたい箇所へ移動する