
普段は使わないのですが、仕事でWordPressのカスタム投稿タイプを使う事になりました。そのとき404エラーがでたので調べてみました
コード
カスタム投稿タイプで404が出るコードは以下になります
06 | 'supports' => array ( 'title' , 'editor' , 'thumbnail' ), |
07 | 'default_ttl' => '記事のタイトルを入力してください' , |
09 | 'notice_category' => array ( |
10 | 'tax_name' => 'notice_category' , |
11 | 'tax_label' => 'カテゴリ' , |
12 | 'tax_default_term' => 'その他' , |
※該当する箇所のみだしています
404エラーとなる
記事を追加して表示をすると404エラーとなります。テンプレートがないとかそういうのではありません。
条件
- カスタム投稿用テンプレート:有り
- パーマリンク:カスタム構造
- プラグイン:Custom Post Type Permalinks
- カスタム投稿は複数(今回は事前に2つあり)3つめの作成
- 一つ目のカスタム投稿:カテゴリ表示あり
- 二つ目のカスタム投稿:カテゴリー表示なし
- 三つ目のカスタム投稿:カテゴリー表示あり(今回作成するやつ)
パーマリンクを基本にすると表示されます
対策
ネットで載っている対策を色々してみました。結論全部解決にはいたらりませんでした
プラグインの削除→インストール
解決せず。
パーマリンクを更新
何もせずに更新をするだけみたいです。解決せず
flush_rules()の実行
ネットで載っている情報で、flush_rules()の実行することで解決をしたというケースもあったので試しました。解決せず
原因
上記の豊富で全く解決しませんでした。原因はtaxonomyにありました。以下のコードにしたらテンプレートが読み込まれました
06 | 'supports' => array ( 'title' , 'editor' , 'thumbnail' ), |
07 | 'default_ttl' => '記事のタイトルを入力してください' , |
タクソノミーのカテゴリを非表示にしたら動きました
対策
パーマリンクの設定を見直す
カスタム投稿でカテゴリを設定したい場合、プラグインを使っている場合は、設定→パーマリンクより「カスタム投稿タイプのパーマリンク設定」があります。これの該当する箇所を以下のように変えます
1 | /%notice_category%/%post_id%/ |
カテゴリ名/post_idという風にしてます。これをしないと404となります。ご注意ください。逆にこれをちゃんとしていれば404にならず、上のようなよくわからない事をしなくてもすみます
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS