ฉันต้องการแก้ไขฟังก์ชั่นในปลั๊กอิน มันถูกประกาศในไฟล์หลักของปลั๊กอินดังนี้:
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 ฉันเดา
มีวิธีการเขียนฟังก์ชั่นใหม่โดยไม่ต้องสัมผัสไฟล์ปลั๊กอินหรือไม่?