通常投稿のアーカイブページ(一覧ページ)を表示させるための手順とその際のページタイトルの変更方法について記載します。
なおWordPressテーマにはCocoonを使用しています。
読みたい箇所へ移動する
記事一覧ページの作成
- 管理画面の左サイドメニューより’外観’を選択します。
- サブメニューの’Theme Editor’をクリックします。
- 右のファイル一覧からfunctions.phpをクリックします。
- 下記のコードを既に記述しているコードの下に追記します。
追記前に必ずバックアップを行うようにして下さい。記述が間違っているとサイトエラーが発生します。
/* 投稿アーカイブページの作成 */
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');