2016-10-20 11 views
0

は私が読んものの、それは働いていない理由は分からない、機能Wordpressでプラグインのクラスの機能を無効にするにはどうしたらいいですか?

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); 
    } 
} 

ので、私は自分自身のプラグインを作成するプラグインのイベントマネージャのクラスEM_Ticketsでget_post()とコードの下に置くが、運を上書きしたいといくつかのマニュアルに従ってくださいすることはあなたが元のコードにフィルタ(apply_filters)を持っているIs it possible to replace a function within a PHP class?

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 
    }   
} 

答えて

0

が好き。戻り値をオーバーライドする関数をフックして作成するだけで、プラグインクラスを拡張する必要はありませんが、別の方法です。

add_action('em_ticket_get_posts', array('Em_tickets', 'my_new_get_post), 10, 2); 
+0

私はあなたの提案が、私はフックで機能を追加することで、それを解決しようとしていない「add_action( 『em_tickets_get_post_pre』、 『save_em_ticket_itemを』);」テーマのファイル機能へ –

関連する問題