私はこの問題を広範囲に検索し、同様の問題を抱えている他の人を見つけましたが、私の場合はうまくいく解決策はありません.
状況は次のとおりです:
* 'events' スラッグでカスタム投稿タイプを作成しました。
* 「イベント」というスラッグを含むページを作成しました。
* イベント ページに子ページを追加しました (第 1 レベルの子)
* それらの子ページに子ページを追加しました (第 2 レベルの子)
* パーマリンク構造は /%category%/%postname%/ に設定されています
* Iカスタム投稿タイプを処理するためにプラグインやカスタム コードを使用していません。
* /events/ に移動すると、pages.php テンプレートを使用してページが正常に読み込まれます。
* /events/first-level-child/ に移動すると、404 が返されます。
* /events/first-level-child/second-level-child/ に移動すると、page.php テンプレートを使用してページが正常に読み込まれます。
* /events/category-name/ に移動すると、archive.php テンプレートを使用してページが正常に読み込まれます。
問題は、カスタム投稿タイプと同じスラッグを持つページの第 1 レベルの子ページを表示しようとすると、404 が表示されることです。
いずれかのスラッグの名前を変更して、異なるものにすることはできません。イベント ページで子ページとカテゴリの両方を期待どおりに機能させる方法を見つける必要があります。クライアントが子ページを自分で作成できる必要があるため、子ページの .htaccess ファイルにカスタム リダイレクトを作成できません。
私の目標を達成するために、WordPress によって生成された書き換えルールを変更する方法はありますか? または、私が利用できるプラグインが役立つ可能性がありますか? WordPress は、2 番目の uri セグメントがカテゴリ名であることを想定していると思います。カテゴリが見つからない場合にその名前のページを探す方法はありますか?