web-dev-qa-db-ja.com

子テーマに親のfunctions.phpを含める

私は私の両親のテーマfunctions.phpを私の子供のテーマfunctions.phpに含めようとしています。

私は私の親のfunctions.phpのための標準的な設定をしています。

これは私が私の子供のテーマfunctions.phpに持っているものです

<?php
/**
 * Base functions and definitions.
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Base
 */

locate_template( array( '/vendor/autoload.php', '/functions.php' ), true, false );

autoload.phpファイルには、動作する木材フレームワークのようなものが含まれていますが、親のfunctions.phpを取り込むようには見えません

どんな助けでも大いに感謝されるでしょう。

ジェイクありがとう。

1
Henshall

@ toschoのコメントに従って、親テーマは常に子テーマの後にロードされます。このようにして、親テーマの機能を上書きしたい場合は、それを書き換えることができ、元のものは無視されますが、書き換えていない機能はすべてロードされて使用可能になります。

逆にする必要はありません。追加のファイルをロードし、(必要に応じて)アクションとフィルタを定義するだけでは、両方の関数ファイルがロードされる順序を気にする必要はありません。現時点ではWPはインベントリを作成しているだけです。実行するコードの数。実際には実行されません。

そのため、親の設定がまだ読み込まれていなくても、子のテーマのfunctions.phpに追加の設定を定義する自由が十分にあります。

1
cjbj

あなたが何を達成しようとしているのか完全にはわかりませんが、親テーマからの関数を子テーマで上書きしようとしているように思えます。

その場合は、親関数をプラグ可能にする必要があります。

if ( ! function_exists( 'your_function' ) ) {

  function your_function() {
  }

}

それからあなたはあなたの子供のテーマで同じ名前で関数を定義することができます。この場合、子関数は最初にロードされてから使用され、親はその関数が存在するかどうかを確認します。

function your_function() {
}
0
Jesse Vlasveld