Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel
Twinsen a poslední změna je stará 6 let, 4 měsíce.
-
Ahoj,
prosím o radu. Externí plugin má v kódu toto:
class PP_CC {
...
$plugin_public = new PP_CC_Public( $this->options, $this->version );
add_action( 'wp_head', array( $plugin_public, 'insert_data' ), 99999 );
...
}
Snažím se ve své šabloně (a určité stránce) toto vypnout nějak takto, ale bez úspěchu:
remove_action( 'wp_head', array( PP_CC, 'insert_data' ), 99999 );
Předem díky za každou radu.
Nemáte konkrétní příklad, který by se to mohlo vyzkoušet? Obecně by to mělo být takto správně. Sice se tam načítá ještě další třída, ale to by nemělo vadit. Ještě může být problém v tom, kde a jak je to načítáno. Pokud je původní kód spouštěn později než se pokoušíte akci odebrat, tak to možná nebude fungovat, případně bych ještě zkusil při odebírání navýšit prioritu, třeba na 999999
.
A když používáte při odebrání akce PP_CC
, tak je tam v tu chvíli nějaká aktivní instance? Neměla by se předtím vytvořit, např. nějak takto?
$object = new PP_CC();
remove_action( 'wp_head', array( $object, 'insert_data' ), 99999 );
Zkusil jsem více variant i tyto zde popisované (codex k remove_action() v podstatě toto i demonstruje) .. krásně je to popsané i tady – bohužel u mě zatím bez výsledku.
Pokud uvážíme, že plugin spouští kód později, jsou pak nějaké možnosti řešení?
Určitě by mělo být možné tu akci odstranit, ale už hodně záleží na tom, jak je to celé realizované a spouštěné… Je to nějaký veřejný plugin? Nebo ho můžete poslat, když budu mít chvilku, tak se na to zkusím podívat…
Nejednalo se o veřejný plugin a tento problém vyřešil nakonec autor pomocí opravného “patche”. Ale i tak díky za podporu zde v diskusi.
@twinsen: Díky moc za reakci! Takže nyní už akce odebírat lze? Jen pro zajímavost, netušíte co se konkrétně změnilo, že to začalo fungovat? Nebo se to nakonec vyřešilo celé trochu jinak?
Autor dodělal nějakou novou funkcionalitu na toto – takže se to vyřešilo jinak. Ale zde jsem jistě postupoval správně.
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.
WordPress – novinky, návody a zajímavosti