Jak upravit kód pluginu

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ě:

  1. 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.
  2. 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.
  3. 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.
  4. Plugin si forknete, což může být někdy východisko. V tomto případě ne.
  5. 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.

Newsletter pro správce WordPressu

Jste na volné noze a staráte se o klientské weby na WordPressu? Nebo pracujete ve škole, neziskovce či firmě a dostali jste web na starost? Nikdo vás pořádně neproškolil, ale čekají od vás, že to všechno zvládnete „sami od sebe“? A vy se chcete stát skutečně úspěšným správcem WordPressu?

Pomůžeme vám, tady jste na správném místě.

Každou středu posíláme odborný newsletter pro správce WordPressu. Je o tom, jak web optimalizovat, řešit jeho problémy, provádět obtížné úkoly a udržovat ho v technické kondici. Vysvětlujeme složité pojmy nebo důležité novinky.

2 komentáře u „Jak upravit kód pluginu“

  1. 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

    Odpovědět
    • 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á.

      Odpovědět

Napsat komentář: Martin Baroch Zrušit odpověď na komentář