フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【WordPress】「投稿」アーカイブを有効にする方法・表示されない時の解決方法

WordPress
アーカイブ
投稿

WordPressをインストールすると標準で用意されている「投稿」。
この「投稿」、実は初期設定のままだとアーカイブページは有効になっておらず、表示されません。
この記事では、「投稿」のアーカイブページを有効にする方法と表示されない場合の解決方法をご紹介したいと思います。

「投稿」アーカイブを有効にする方法

【手順1】functions.phpにコードを記述

デフォルトの「投稿」のアーカイブページを有効にするには以下のコードをfunctions.phpに記述します。

function post_has_archive( $args, $post_type ) {
    if ( 'post' == $post_type ) {
        $args['rewrite'] = true;
        $args['has_archive'] = '任意のスラッグ名';
    }
    return $args;
}
add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );

「任意のスラッグ名」のところに指定したスラッグがアーカイブページのURLとなります。

例えば、newsと設定した場合は、「投稿」のアーカイブページは「/news/」になります。

【手順2】パーマリンク設定を更新

functions.phpにコードを記述したら、次にWordPressの管理画面に入ります。
管理画面のサイドバーから「設定 > パーマリンク設定」と進み、特に設定を変える必要はなく、「変更を保存」をクリックします。

実はこの操作がとっても重要です。この一見意味のない操作をしないとfunctions.phpにコードを記述しただけでは「投稿」のアーカイブページは有効になりません。

【手順3】指定したURLにアクセス

設定自体は【手順1】【手順2】で終わりです。
最後に正しく「投稿」のアーカイブページが表示されるか指定したURLにアクセスして確認してみます。

「404 Not Found」にならない、トップページへリダイレクトされなければ正しく「投稿」のアーカイブページが有効となっています。

「投稿」のアーカイブが表示されない時の解決方法

「投稿」のアーカイブが表示されない場合の原因と解決方法は様々ですが、ここではよくある原因を3つご紹介します。

「投稿」のアーカイブが有効になっていない

そもそも「投稿」のアーカイブが有効になっていないことが原因という場合がよくあります。
僕も初めてWordPressを触った時、「投稿」のアーカイブが表示されず、何故?と思ったことがあります。
標準で用意されている「投稿」だから当然何もしなくてもアーカイブページが表示されると思ってしまいますが、先ほどもご紹介した通り、設定しないと「投稿」のアーカイブは有効になりません。

まずは「投稿」のアーカイブが有効になっているか確認してみましょう。

パーマリンク設定を更新していない

functions.phpに「投稿」のアーカイブを有効にする処理が書かれているのに表示されない場合、パーマリンク設定の「変更を保存」をクリックしてみましょう。
これもついつい忘れてしまいがちですが、functions.phpにコードを記述しただけでは「投稿」のアーカイブは有効になりません。

functions.phpにコードを記述したら、忘れずに、パーマリンク設定の「変更を保存」をクリックして設定を上書きするようにしましょう。

スラッグ名が重複している

今までご紹介した2つが原因でない場合、指定したスラッグ名が既に使われている可能性があります。
もしくは、サーバー上に同様のディレクトリ(フォルダ)が実在している可能性があります。

スラッグ名が重複していないか、また、サーバー上に同様のディレクトリ(フォルダ)がないか確認してみましょう。

まとめ

いかがでしたか?
「投稿」はWordPressのメインの機能のひとつです。
ブログやお知らせ更新として「投稿」を使用する場合は、「投稿」のアーカイブを有効にすることを忘れないようにしましょう。