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