web-dev-qa-db-ja.com

カスタム投稿タイプページが "見つかりません"

他のプロジェクトで問題なく使用したコードを使用して、2つの新しいカスタム投稿タイプを作成しました。 1つはtop_charts、もう1つはcase_studiesです。どちらも管理メニューに正しく表示され、新しい投稿を作成できます。

残念ながら、新しい投稿は表示されません。 404.phpという応答があります。

表示できるものがあるかどうかを確認するためにarchive-top_charts.phpを作成しましたが、404.php "ページが見つかりません"という返信が表示されます。

私はもともとカスタム投稿をtop-chartscase-studiesと命名しましたが、私はハイフンが問題であるかもしれないと思ったので、代わりにアンダースコアを使うようにそれらを改名しました。仕方がありません。

パーマリンクを再保存しようとしましたが、何も変わっていません。私の.htaccessページもあなたが期待しているのと同じように見えます(そして他のページも問題なく動作します)。他に何をチェックできますか?

15

見つからないカスタム投稿を修正するには、以下のコードをfunctions.phpに使用してください。

flush_rewrite_rules( false );

ただし、これは一時的な措置としてのみ実行してください。それ以外の場合は、ページが読み込まれるたびに実行されます。

詳細についてはリンクをたどってください:

役に立つリンク

表示されないarchive-top_charts.phpについては、投稿タイプを登録するときに'has_archive' => trueがあることを確認してください。

ありがとうございます。

17
jas

あなたはあなたのPHPコードを編集する必要はありません!

他の答えのように、あなたがあなたのカスタム投稿タイプを登録する関数でこれをすることができる間、あなたはphpコードに触れることを避けて、設定メニューでこれをすることもできます:

DashboardからWordPressの書き換えルールやパーマリンクをフラッシュするには(通常、新しいカスタム投稿タイプには手動で行う必要があります):

  1. メインメニューで "設定>固定リンク"を見つけます。
  2. 必要に応じて下にスクロールして[変更を保存]をクリックします。
  3. 書き換えルールとパーマリンクはフラッシュされます。

とても簡単です。

image of saving permalinks page 参照

21
Danny

私はこれがゲームの後半であることを理解しています(そして関連する問題ではないかもしれません)、しかし私は他の人に可能性のある問題を指摘したいと思いました。

私の場合は、分類法をツールに書き換え、コンテンツタイプを同じものに書き換えました。したがって、競合であるため、正しく機能しません。残念ながら、そのようなことを検出することはできないので、私はそれを他の人に指摘することにしました。

0
shaneonabike