我想修改插件中的功能。像这样在插件的主文件中声明:
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中初始化插件时会包含该插件的文件。
有没有一种方法可以重写功能而不接触插件的文件?