2012-01-19 8 views
8

aracılığıyla eklendi. eklenti (ı kopyalayamazsınız/yapıştır - Ticari eklentisi) şöyle ADD_ACTION ulaşır:Ben ayrı functions.php dosyasında bir eklenti kayıtları, ancak sözdizimi bana stumping bir işlemin kaldırılması için çalışıyorum bir sınıf

class Plugin_Class{ 

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

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

Ben &$this ile çoğunlukla karıştı. Ben bu sınıfın örneğini ifade ettiğini biliyorum, ama benim araştırma kapalı tabanlı bu kadar gibi kaldırılmalıdır:

Need help with remove_action()

Sadece benim durum için sözdizimi ile gelip nasıl bilmiyorum. Küresel değişkeni neden tanımlarız? Benim durumumda bunu yapmak zorunda mıyım? Widget dizisinin WP çekirdek kodundan geldiğini farz ediyorum, fakat bunu benim durumumda nasıl uygulamaya koymam gerektiği konusunda kafam karıştı, ki bu da çok daha basit görünüyor. Üzgünüm, bu şeyler düzeltici olsaydı.

Yardımlarınız için şimdiden teşekkür ederiz.

+0

Daha fazla bilgi için: http://wordpress.org/support/topic/remove_action-problem-when-function-is-within-class – Steve

+0

"Global olduğumuzu varsayalım" dediğim yerde kafam karıştı. Bu yüzden sınıfta küresel tanımlanmış bir yer bulmalı mıyım? – Steve

+1

Şimdi küresel ihtiyaçların sınıf çıkarıldığında atanan değişkene ayarlanacağını görüyorum. Bunu denemek ama çalışmıyor. http://wordpress.stackexchange.com/questions/36013/remove-action-or-remove-filter-with-external-classes – Steve

cevap

1

$ & $ bu, bir kopya yerine bir başvuru oluşturur. Böylece bu değişkene daha sonra eriştiğinizde, bu nesneye gerçekten erişirsiniz, bir kopyasını değil.

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

dizisi hakkında paragrafa bakın "tam olarak referans olarak atama ancak eşdeğer değildir."

İlgili konular