Zdravím, existuje nějaký způsob, jak bych mohl upravit kód nějakého pluginu, ale ten se mi při aktualizaci nepřepsal? Abych byl úplně konkrétní, tak u pluginu Mailjet Email Newsletter Marketing bych potřeboval v souboru mailjet-widget.php upravit vzhled vygenerovaného widgetu.
Existuje několik postupů, ale všechny jsou programátorské. Stručně:
- Autor pluginu věděl, že zrovna na tomhle místě budou chtít lidi úpravy, tak použil hook, kterým můžete chování ovlivnit.
- Autor napsal klíčovou část kódu objektově, takže můžete vytvořit potomka objektu a změnit jeho chování. Zrovna v případě widgetu to jde, vytvoříte si vlastní widget odvozený od toho, který má onen plugin.
- Autor nic takového neudělal, takže jdete nejhorší možnou cestou, ručně si udržujete ten jeden dva řádky a po každé aktualizaci to opravujete. Ano, peklo a špatný přístup.
- Plugin si forknete, což může být někdy východisko. V tomto případě ne.
- Zadání vyřešíte jinak, např. svým pluginem přistupujete k datům jiného pluginu, pokusíte se ho více či méně rozšířit. Nebo napíšete autorovi a žádáte ho o úpravu.
Stručně řečeno – situace nemá úplně jednoduché řešení. Nikdy se ale neupravuje originální kód.
Ctěl bych upravit plugin Contact form 7 tak aby bylo umožněno měnit adresu příjemce mailu přímo z šablony pluginu a abych nemusel kvůli tomu se propracovâvat složitě do nastavení pluginu k položce „Komu“. Jak na to?
Děkuji předem za odpověď.
MB
Dobrý den,
nevím, co přesně myslíte „šablonou pluginu“, ale chápu to tak, že chcete mít adresu více po ruce a usnadnit si práci (což chápu).
Pluginy se obvykle neupravují, protože je pak nelze aktualizovat – úpravy se samozřejmě přepíšou. V tomto případě bych zvolil cestu podle bodu 5), vytvořil vlastní plugin se stránkou, kde by byl přímý přístup k datům pluginu CF7. Jestli by se to ale vyplatilo ekonomicky, to je jiná.