2016-04-14 10 views
0

私はこの質問が一般的に聞こえるかもしれないが、それらの一般的な質問に対する答えは私のために働いていないことを知っています。親テーマからPHPファイルをオーバーライドする方法

私はwordpress phpファイルに触れるのがとても新しいです。私はFitProテーマを使ってクライアントのために働いています(私は彼らの一般的なフォーラムで掲示しますが、私のクライアントはもはやサポートしていません:/)。 "fitness-class"と定義されたcutom postタイプのpermalinkを変更し、 "class"に置き換える必要があります。

スラッグが定義されている場所(custom_post_types.phpというファイルにあり、 'framework/presentation/custom_post_types.php'にあります)に見つかりました。私は、親テーマのファイルを変更することで、希望の効果が得られることを確認しましたが、子テーマでそれを複製しようとするとうまくいきません。

子テーマのルートディレクトリにcustom_post_types.phpファイルをコピーして、変更を加えても機能しませんでした。私は親テーマのファイルパスを複製し、それでも動作しませんでした。私はオンラインで問題を調べ、他の人の中では、この解決策を見つけました:https://wordpress.org/support/topic/child-theme-fix-use-get_template_part-instead-include-get_template_directory

問題(少なくとも今のところ):私のテーマには、front-page.phpファイルがないようです。代わりに 'framework/framework.php'に以下の行を含むファイルがあります:require_once(MO_FRAMEWORK_DIR。 '/presentation/custom-post-types.php');

これを具体的に乗り越えるにはどうすればよいですか?上記の解決策が述べられている限り、私が上書きできるget_template_directory呼び出しはありません。

私は行をコメントアウトし、framework.phpファイルを自分の子テーマのルートディレクトリにコピーしてみました。親テーマファイルのパスをコピーしようとしました。私は、私のfunctions.phpファイルとframework.phpファイルの両方にget_template_part呼び出しを追加しようとしました。私はここでは愚かな場合私は謝罪しますが、私はまだワードプレスの構造を学ぶのに慣れていません。

アドバイスをよろしくお願い申し上げます。私はMO_FRAMEWORK_DIRがどこに定義されているのか分かりませんが、私がそれを見つけて問題を解決すれば、私は質問を更新します。あなたが親のテーマからオーバーライドする必要がどのようなファイル

答えて

0

その後、このファイルをコピーする必要があり、uは、親テーマのsingle.phpファイルを上書きする必要がある場合は、例えば、子テーマに単に

を配置する必要があります。次に、single.phpファイルをコピーして、それを子テーマに配置するだけです。

あなたの子供のテーマのフォルダを以下のように作成します。

フレームワーク/プレゼンテーション/

とプレゼンテーションフォルダの下には、私はあなたが理解してほしいcustom_post_types.php

を置きます。

+0

私はこれを行いましたが、うまくいきませんでした。私の元のコメントで私が提供したリンクは、WordPressのフォーラムで、なぜ私のテーマがリンクが示唆している方法で設定されていないのかを説明することです。 – CZorio

関連する問題