カスタム投稿タイプの記事、アーカイブが404エラーで表示されない!
せっかく作ったカスタム投稿タイプの記事が404エラーで表示されない!
という事態に陥ったときの対処方法を紹介します。
方法は2通りあります。
1、管理画面から「パーマリンク設定」を変更なしのまま保存
値など何も変えなくてOKです。
ただ保存するだけで、内部で使われている情報が更新されるため
functions.php で新たに追加したカスタム投稿タイプのURLも使えるようになります。
(環境にもよるのかもしれませんが、「パーマリンク設定」にアクセスしただけで
カスタム投稿タイプの記事が表示されるようになった例もあります。)
2、functions.php にソースを記述
テーマ内の functions.php で、カスタム投稿タイプを追加しているソースに
以下の一行を追加します。
function new_post_type() { register_post_type('news', array( //(省略) ) ); flush_rewrite_rules(false); // ←これ }
こちらは1と違い、「情報を更新してください」と明示的にお願いしています。
楽なのは1ですが、この問題はカスタム投稿タイプのslugを変更しても起こりうることなので
変更のたびに設定の保存をするのが面倒な方は、2のソースを追加する方法がいいかもしれません。
>> 「カスタム投稿タイプ」で自分だけのオリジナル投稿機能を作ってみる
>> カスタム投稿タイプ用の記事、アーカイブテンプレートを作成する
>> カスタム投稿タイプの表示側、管理画面側のいろいろをカスタマイズする
>> カスタム投稿タイプの新着記事を表示する
>> カスタム投稿タイプをプラグインで簡単に追加する