WodPressのカスタム投稿タイプで404エラーとなる

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