![](/img/trans.png)
[英]How can i override plugin class function in wordpress functions.php?
[英]How can I override function of plugin 's class in Wordpress ?
我想在插件事件管理器的EM_Tickets類中覆蓋函數get_post()
class EM_Tickets extends EM_Object implements Iterator{
/**
* Retrieve multiple ticket info via POST
* @return boolean
*/
function get_post(){
// something here
return apply_filters('em_tickets_get_post', count($this->errors) == 0, $this);
}
}
所以我創建了自己的插件,並在下面的代碼中放上了代碼,但是沒有運氣,盡管我閱讀並遵循了一些類似手冊,但不知道為什么它不起作用? 是否可以在PHP類中替換函數?
class EM_Tickets_Child extends EM_Tickets implements Iterator{
public function get_post(){
file_put_contents('log.txt', 'in child class', FILE_APPEND | LOCK_EX);
//something here
}
}
您在原始代碼上有一個過濾器(apply_filters)。 您只需要鈎子並創建一個函數來覆蓋返回值,無需擴展插件類,但這是另一種方法。
add_action('em_ticket_get_posts', array('Em_tickets', 'my_new_get_post), 10, 2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.