プラグインの関数を変更したい。これは、プラグインのメインファイルで次のように宣言されています。
class WCPGSK_Main {
...
public function wcpgsk_email_after_order_table($order) {
...
}
}
次のようにそこから呼び出された追加:
add_action( 'woocommerce_email_after_order_table', array($this, 'wcpgsk_email_after_order_table') );
functions.phpのクラスにアクセスできれば、置き換えられると思います。それから私はこのようなものを書くことができるでしょう:
$wcpgsk = new WCPGSK_Main;
remove_action( 'woocommerce_email_after_order_table', array($wcpgsk, 'wcpgsk_email_after_order_table') );
function customized_wcpgsk_email_after_order_table($order) {
...
}
add_action( 'woocommerce_email_after_order_table', array($wcpgsk, 'customized_wcpgsk_email_after_order_table') );
functions.phpファイルでクラスにアクセスするための私の考えは、クラスがfunctions.phpで宣言されているファイルを含めることでした。
require_once('/wp-content/plugins/woocommerce-poor-guys-swiss-knife/woocommerce-poor-guys-swiss-knife.php');
$wcpgsk = new WCPGSK_Main;
...
しかし、WordPressでプラグインが初期化されるときにプラグインのファイルが含まれるため、これは機能しません。
プラグインのファイルに触れずに関数を書き換える方法はありますか?