テーマの機能をオーバーライドするプラグインを作成しました。プラグインの機能が最初にロードされることを知ったが、エラーが発生した
致命的なエラー:89行目の***/plugins/custom-plugin/custom-plugin.phpでwooc_extra_register_fields()(以前は****/themes/****/functions.php:247で宣言されていました)を再宣言できません
何が悪いのかわからない。また!テーマが存在する場合はテーマの機能を上書きする必要があります。では、プラグインを使用して、テーマ関数のラップを上書きする正しい方法はありますか。
In wp-settings.php, WordPress first checks for any must-use plugins (plugins in the optional mu-plugins folder) and loads those.
次に、マルチサイトインストールを実行している場合は、ネットワークでアクティブ化されているプラグインをチェックしてそれらをロードします。
あなたの状況では、プラグインをfunction_exists
でラップするのが最善です。
if ( ! function_exists( 'wooc_extra_register_fields' ) ) {
function wooc_extra_register_fields() {
}
}
これは、テーマの機能をプラグ可能にするためです。その後、子テーマを作成し、その子テーマのfunctions.php
で関数を再宣言できます。