アーカイブページが表示されない時の対処方法

スポンサーリンク

 

カスタム投稿タイプを作成した際に「アーカイブページ」を同時に作成したとき、いくらアクセスしても「404 NotFound」といったエラーが表示されてしまう場合があります。

 

そうなってしまった場合の対処方法をいくつかご紹介します。

スポンサーリンク

PHPのバージョンを上げる

 

レンタルサーバーを借りていて、簡単WordPressインストールのようなサービスが入っているプランを利用している場合は、PHPのバージョンでエラーが起きてしまうことはほとんどないと思います。

 

開発環境や、簡単WordPressインストールのようなサービスがない場合に、独自で環境構築した場合に起こる可能性があります。

 

現在(2018/09/17)の時点では、WordPressの対応PHPバージョン

PHP5.2.4以上

になっています。

 

ちなみに、推奨バージョンは

PHP7.2以上

としています。

 

WordPressは新しいPHPを使用することを推奨していますので、特に問題がなければ最新のPHPを利用するようにしましょう。

また、PHP5に比べてPHP7は高速なためサイトスピードの向上にもつながります。

 

PHPのバージョン確認方法

 

 

パラメーターが設定されていない

 

アーカイブページを作成するためには、「register_post_type」関数を利用しますが

(※プラグインを使用しない場合)

その関数のパラメーターの中に

has_archive

というパラメーターが存在します。

 

このhas_archiveは、なんとデフォルトで無効になってしまっているのです。

つまり、設定を行わないとアーカイブページを作成することができない仕様になっています。

 

そのため、has_archiveを有効化する必要があります。

 

Custom Post Type UIを使用している場合

 

プラグインの「Custom Post Type UI」を使用してカスタム投稿タイプを作成している場合は、1か所項目にチェックを入れればOKです。

 

設定画面から「投稿タイプを編集」を選択。

選択」のリストから対象のカスタム投稿タイプの種類を選択。

 

下のほうに、「アーカイブあり」の項目があるので、ここにチェックをいれて保存すればOKです。

 

functions.phpで作成する場合

 

functions.phpでカスタム投稿タイプを作成している場合は、対象のカスタム投稿タイプの「register_post_type」関数に以下のパラメーターを指定するだけでOKです。

 

 

パーマリンクの設定

 

パーマリンク

これが一番引っかかってしまいがちなことだと思います。

 

パーマリンクの設定はデフォルトでは、

基本」の

https://ドメイン名/?p=123

となっています。

 

カスタム投稿タイプのアーカイブページへのアクセスURL

https://ドメイン名/スラッグ名

ですが、

 

パーマリンクの設定が「基本」になっている場合は、「https://ドメイン名/スラッグ名」にアクセスしてもNotFoundとなってしまいます

 

まとめ

 

アーカイブページがうまく表示されない時の対処方法をいくつかご紹介しました。

とくに、パーマリンクの設定に関してはデフォルトの設定が悪いので引っかかりやすいです。

 

コメント