※当サイトにはプロモーションが含まれています。
NEWSなどのお知らせを作成したけど、404というエラーが表示される何とかしてくれ。
企業や美容院、整骨院などのホームページでは、「お知らせ」や「NEWS」などを記載することがあると思います。
それを管理するための仕組みが、ワードプレス(WordPress)には予め用意されていて、カスタム投稿タイプという機能を使って設定することができます。
※テーマによっては、カスタム投稿タイプが用意されていない場合や、異なる設定がされている場合もあります。
しかし、これらの「お知らせ」や「NEWS」の記事である
「カスタム投稿タイプの記事が404エラーで表示されない!」
ということが起きた場合の解決方法を紹介します。
パーマリンク設定の更新
カスタム投稿タイプを追加した後、WordPressがパーマリンクを認識できていないことがあります。
これを解決するために、パーマリンク設定を再保存します。
左メニューにある
設定 > パーマリンク
を選択。
設定は何も変更する必要がないので、そのまま保存します。
これで、カスタム投稿タイプのURLが認識され、記事が表示されるようになると思います。
リライトルールを強制的に再生成する
多くの場合、パーマリンクの更新で解決すると思いますが、それでも表示されない場合は、リライトルールを強制的に再生成します。
以下のコードをfunction.phpに記述します。
add_action('init', function() {
flush_rewrite_rules();
});
コードを追加した後、再度パーマリンクを保存(更新)してください。
そのあとは、このコードは必ず削除してください。
何故なら、flush_rewrite_rules()は非常に重い処理だからです。
その為、このコードは必ず削除してください。
重要なことなので、繰り返し記述しました。
なお、これでも解決しない場合は、プラグインの干渉を疑った方がいいかもしれません。
特に、有名なプラグインである「Yoast SEO」はパーマリンクのリライトに関わる機能を持っている為、404エラーの原因になることがあります。
function.phpの場所は?
function.phpは、だいたいどのテーマも、
外観 > テーマエディター
にあります。
テーマエディターに移動したら、編集するテーマが、現在、使用しているテーマかを確認しましょう。
問題なければ、「function.php」を選択します。
選択したら、一番下に以下のコードを追加します。
add_action('init', function() {
flush_rewrite_rules();
});
最後に、「ファイルを更新」ボタンで、保存(更新)します。
※全角スペースなどが入ると、正しく動作しない可能性があるので、コピーしたコードは、一度メモ帳などに貼り付けて確認してみましょう。