WordPressのカスタム投稿タイプを追加後、ページは存在しているはずなのに404になる場合の解決方法

最近WordPressでカスタム投稿タイプを追加していたら、追加後のページで404エラーが発生しました。
正確には「プレビュー」のときには表示されたり、「公開」前までは表示されているのにカスタム投稿タイプの投稿を公開したタイミングで404になります。
パーマリンク設定で「変更を保存」を押す
WordPress管理画面の[設定]→[パーマリンク設定]で「変更を保存」ボタンを押すと解決しました。
特に変更を変えたりする必要はなく、そのまま「変更を保存」を押して問題ありません。

WordPressのURLは「リライトルール」というルールを定義して、そのルールに従ってどの処理を実行するか、どのページを出すか判断しています。
カスタム投稿タイプの追加などで新たにURLを追加したものの、リライトルールは昔のままだったりすると404になることがあるみたいです。
パーマリンク設定の「変更を保存」ボタンを押すとこのリライトルールを再生成してくれるので、それで解決しました。
非推奨:コードでリライトルールを再生成する
リライトルールの再生成は「flush_rules」を使うとできますが、この方法は非推奨です(パーマリンクの更新の方が手軽なので、あえてこの方法を利用する必要もありません)。
global $wp_rewrite;
$wp_rewrite->flush_rules( false );WordPressのリライトルールを再生成してくれるのですが、コード側でやってしまうと毎回再生成されることになります。
URLの構造変更はたまにしか行わないので、ムダな処理が毎回実行されるのはよくないですし、思わぬ不具合に繋がる可能性もあるので避けた方がよさそうです。


Visual Studio CodeをMarkdownエディターとして使用する
ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ
CSSの読み込みで「its MIME type (‘text/html’) is not a supported stylesheet MIME type」エラーが表示されて読み込みができない場合の解決方法
Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored
Dashで「Secure Input is Enabled」と表示される場合の対処法
SourceTreeの外部Diff / MergeツールをKaleidoscopeに設定する
EmmetのWrap with Abbreviationで複数行のマークアップを効率的に行う
gulp-plumberとgulp-notifyでgulpエラー時にデスクトップで通知がくるようにする
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎