カスタム投稿タイプのアーカイブを有効化・フラッシュ
既存CPTの has_archive を動的に true へ変更し、パーマリンク設定を自動フラッシュする安全な実装。
解説
register_post_type_args フィルターで後から has_archive:true を注入します。flush_rewrite_rules() を毎リクエストで呼ぶとパフォーマンスに影響するため、オプションフラグで初回のみ実行しています。アーカイブURLが404になった場合は管理画面「設定→パーマリンク」を一度保存するだけでも解消します。
いつ使うか
- 既存テーマの挙動を後付けで調整したいとき
- プラグインを増やさずに小規模カスタマイズしたいとき
- クライアント案件で「ちょっとした要望」に応えるとき
適用時の注意点
functions.php はサイト全体に影響します。本番に貼る前にステージング環境で必ず動作確認を。テーマ更新で消えないよう 子テーマ または Code Snippets プラグイン で運用するのが推奨。
よくある質問
このコードはどこに貼れば良いですか?
子テーマの
functions.php もしくは Code Snippets プラグインに貼り付けて有効化してください。WordPress のバージョンによって動きませんか?
本サイトは WordPress 6.x 系(2026 年時点)を前提に動作確認しています。
プラグインと競合する可能性はありますか?
同じフィルタフックを別プラグインが使っている場合、競合する可能性があります。
商用利用できますか?
はい。moatway がオリジナル制作した PHP コードは商用・個人問わず自由にご利用いただけます。