web-dev-qa-db-ja.com

誤って削除したpage.phpデフォルトテンプレートでテーマを修正するにはどうすればいいですか?

今日、私はWPに関してかなり奇妙なケースを経験しています、そしてグーグルとフォーラムで検索に約1時間費やした後、答えを見つけることができません。ここに投稿することで、このサポートフォーラムのどこかに潜んでいるWordPress Wizardsから助けを得る機会ができるかもしれません:)

とにかく、ここで私の問題は私が私のテンプレートからpage.phpを誤って削除したことです(私はすべてのデフォルトテンプレートを削除し、WordPressをよりパーソナライズされカスタマイズされたバックエンドにしようとしています)。 'Default Template'というテンプレートを削除し、ページのテンプレートドロップダウンを次のように表示したいと思いました。

1ページのテンプレート(またはランダムな名前)

グリッド2サイドバーテンプレート(または単にランダムな名前)

コンテンツを保存する(または単にランダムな名前を付ける)

Page.phpを削除しても - デフォルトテンプレートはまったく削除されませんでしたが、私はまだそれを手に入れました、そしてそれをスタイルしたり削除する方法がありませんでした。私のリポジトリからpage.phpを再コピーしたときに問題がさらに増えています、私は 'Default Template'というDOUBLEテンプレートを手に入れました!

私はWP 3.1.2の新しいコピーをインストールして2010を複製することによって問題を再現しようとしました、そして次に私はその複製をアクティブにします。これが私のステップです:

  1. Page.phpとpage-with-sidebar.phpを削除します。
  2. ページをチェックして、今、私は 'デフォルトのテンプレート'を手に入れましたが、page.phpはありません
  3. 再コピーされたpage.php
  4. ページをチェックして、今、私は2つの「デフォルトテンプレート」を得ました
  5. 元の2010年に切り替え - ページをチェック - 1つの「デフォルトテンプレート」と1つの「サイドバー付きのデフォルトテンプレート」で問題なく動作します。
  6. 変更された2010年に切り替え - ページをチェック - まだ二重 'デフォルトテンプレート'を得た

さて、ここで私が見るのは、この問題がpage.phpを削除したために間違いなく起こるということです - そしてそれはWordpressのインストール自体ではなく、テーマにこだわっています。さらに悪いことに、私はそれが原因で更新されたファイルを見つけることができません - 本当に面白い。

これは私が持っているものに近く見えますが、実際にはそうではありません。

私の質問:

  1. 問題を解決するにはどうすればいいですか。私たちがすでにpage.phpを取り戻したことを認識するためにテーマを返す方法があるかどうか知りたいと思いました。
  2. ページテンプレートのドロップダウンリストから「デフォルトテンプレート」を削除する方法たぶん未設定を通して
    functions.phpを呼びますか?

事前に感謝します。

アンドレ

3
grayspark

これはカスタムテーマなので、何が起こっているのか推測できます。

質問1への可能な答え:

  1. それがあなたのカスタムテーマであることを確認してください

  2. すべてのテーマファイルに正しいテンプレート名が付けられていることを確認してください。テンプレート名は、ドロップダウンリストに表示されるものです。重複や間違ったものがある場合は、予期しないリストが表示されます。

質問2への回答: "Default Template"を削除することはできないと思います。 "Default Template"はWordPressにpage.phpを使うように伝えます。それが存在しない場合はindex.phpを使用してください。

もう一つの可能​​性はあなたのテンプレートファイルの一つが "Default Template"のテンプレート名を持っていることです。それは私が知っている愚かなことですが、それは可能です。それは間違いなくあなたが二重に見えるようになります。

HTH

1
rexposadas

私はこのテンプレートセレクタがどのように機能するかを調べたところ、wp-admin/includes/meta-boxes.php行番号588の内側に デフォルトテンプレート オプションがハードコーディングされているようです。このファイル自体を編集しない限り、そのオプションを削除することはできません。

あなたの問題に対する可能な解決策:

  • Phpファイルで:* Template Name: Default Templateを検索し、存在する場合はそのヘッダータグを削除します。

  • 別のテーマに変更し、元の20を元に戻してから、再び20に戻します。

私はそれらの解決策のうちの1つがあなたのために働くことを願っています。

1
mattsay