2012-01-19 17 views
8

プラグインが別個のfunctions.phpファイルに登録するアクションを削除しようとしていますが、その構文は私に悩まされています。プラグイン(私はコピーすることはできません/ペースト - 商用プラグインが)ので、同じようadd_actionに推測:クラスを介して追加されたアクションを削除する方法

class Plugin_Class{ 

    function add_actions(){ 
    add_action('tag', array(&$this, 'function_to_remove'), 10); 
    } 

    function_to_remove(){ 
    global $wp; 
    // Code here 
    } 
} 

私は&$thisとほとんど混乱しています。

Need help with remove_action()

私はちょうど私の状況のた​​めの構文を思い付くする方法がわからない:私はそうのように削除する必要があり、これはクラスのインスタンスを参照していることを知っているが、私の研究をオフに基づいて。なぜグローバル変数を定義するのですか?私の場合はそれをする必要がありますか?ウィジェット配列がWPのコアコードから来ていると仮定していますが、これを私の場合に実装する必要があるのは混乱しています。申し訳ありませんが、このものは是正です。

ご協力いただきありがとうございます。

+0

続きを読む:http://wordpress.org/support/topic/remove_action-problem-when-function-is-within-class – Steve

+0

「私たちはグローバルを持っていると言います」と混乱します。だから私はクラスで定義されたグローバルを見つける必要がありますか? – Steve

+1

クラスがインスタンス化されたときに割り当てられた変数にグローバルを設定する必要があります。それをやっているが動作していない。 http://wordpress.stackexchange.com/questions/36013/remove-action-or-remove-filter-with-external-classes – Steve

答えて

1

& $これはコピーではなく参照を作成します。この方法で後でその変数にアクセスすると、実際にこのオブジェクトにアクセスできますが、コピーにはアクセスしません。

http://www.php.net/manual/en/language.references.whatdo.php

アレイに関する段落は、「正確に参照することにより割り当てるが、同等ではありません。」を参照してください。

関連する問題