it-swarm-eu.dev

Úprava základních souborů WordPressu

Proč?

Někdy snadno opravit změnu chování WordPress sám nebo plugin by mohlo být změnit soubory plugin nebo WordPress přímo. Když přijde s takovou myšlenkou, obvyklá odpověď je:

Nenechte se hack jádro.

Proč je obecně špatný nápad měnit základní soubory?

Zvážit?

Někdy však věci, které mohou být pro web kritické, je prostě nemožné, a to pěkným způsobem bez změny základních souborů. Když v takové situaci potřebujete vědět, než začnete a začnete hackovat jádro?

Jak?

Zvažovali jste všechny možnosti, ale jediným řešením je hackování základních souborů. Jak bys to měl dělat? Jak bude mít změněné jádro vliv na pracovní postupy, jako je aktualizace?

21
googletorp

Pokud jste musíhack jádro, zvažte to tak, aby to bylo rozšiřitelné pro ostatní.

Přidat akční hák

Devětkrát z deseti můžete dělat to, co jste chtěli, pokud existuje pouze další volání do_action ve specifickém souboru. V takovém případě přidejte akci, dokumentujte ji a odešlete opravu přes Trac. Pokud existuje dobrý důvod pro vaši opravu (tj. Nejsi jediný, kdo by ji někdy použil), můžete ji pravděpodobně přidat do jádra.

Dále vytvořte vlastní plug-in (nemusíte ho uvolňovat/distribuovat!), Který se váže k tomuto novému háku a vykonává jakoukoliv funkci, kterou potřebujete.

Refaktorujte základní soubor

Jindy budete možná potřebovat kus kódu, abyste se chovali jinak. Předejte proměnnou odkaz, například, nebo vrátíte hodnotu, spíše než echo. Udělejte si nějaký čas, abyste si posadili a refaktorovali kód, takže to, co potřebujete, udělejte ... pak odešlete patch přes Trac, takže zbytek z nás může těžit z vaší práce.


Vidíte zde téma, které se vyvíjí? Hacking jádro není nutně ne-ne ... jen něco, co většina vývojářů budevysoce odrazujepro nové uživatele nebo začínající programátory (pokud se nás ptáte, jak něco udělat, my ' ll navrhnout plug-in pokaždé, než dokonce zvažuje navrhnout hack jádro).

Hacking jádro je způsob, jak WordPress vyvíjí a vyvíjí, ale je to nebezpečné pro někoho, jen učení PHP nebo bez zkušeností s prací s WP soubory. Předtím, než se dotknete jádra, začněte s plug-inem - pokud porušíte zásuvný modul, můžete jej rychle odinstalovat (odstraníte-li to pomocí FTP, pokud je to nutné) ... ale pokud se porušíte jádro, může se stát, že se na vašich stránkách a potenciálně na vašem webu objeví špatné věci. databáze.

Pokud jste však v situaci, kdy je jádro hacku nevyhnutelné, proveďte změnu. Změňte také na prominentním místě (pokud je váš blog vysoce viditelný, což může být dostačující ... ale navrhuji Trac protože to je, jak se změny komunity dostanou do příští verze). Vaše změna by mohla být kouzelná kulka, která by mohla vyřešit problémy na sto různých stránkách ... a tak přispět zpět do komunity, která vám pomohla vytvořit vaše stránky.

Pokud dojde ke změně, pak se váš hack stane součástí jádra a v budoucnu se s ním nebudete muset obávat. Pokud tomu tak není, máte alespoň podrobnou dokumentaci o tom, jak znovu implementovat hack po upgradu WP za 3 měsíce.

21
EAMann

Nenechte se hack jádro.

To proto, že je to návrh pro první úroveň, nezkušené uživatele. Ty hackingové jádro by přerušilo jejich instalaci, nemohou zajistit, že jejich změny budou i nadále aktualizovány atd.

Jistě, hack jádro!

Jistě můžete skutečně hack jádro, například pomocí verze systému pro správu, jako je SVN. To vám pomůže udržet své vlastní změny na základní kód v souladu s aktualizací projektu. To také pomáhá vytvářet opravy pro Wordpress a poslat je do projektu.

Hacking jádro je infact dělat Wordpress vyvíjet.

Úvahy

Pokud nechcete instalovat úplné SVN a stále víte, které (některé) soubory jste změnili, můžete použít více nízkoúrovňových nástrojů jako Diff/Merge (pro výhru: WinMerge ) nebo editory s možnostmi porovnání (např. Notepad ++ s porovnáním Plugin ). V Linuxu můžete snadno instalovat nástroje příkazového řádku, které dělají totéž. Geany editor přichází s integrací Nice Shell btw. .

Dávám přednost Eclipse PDT pro tvrdé práce. Ale to není pro rychlou editaci nebo hack.

Řekl bych tedy, že pokud používáte správné nástroje a chcete se postarat o hackování jádra, je to cesta. Pokud jste hacking něco dohromady, že je zbytečné na některých jiných serverech uživatelů Noob (yup, Wordpress je docela populární), stačí poskytnout plugin, který může být vyhozen snadno, pokud se zlomí něco.

3
hakre

Jedná se o tyto otázky:

  1. Pokaždé, když provedete aktualizaci jádra (např. Z důvodu opravy zabezpečení, atd.), Budete jej muset místo automatické aktualizace aktualizovat ručně.
    Pokud si to přejete, usnadněte si život:
    • označit každou změnu společnou značkou (.e.g // PATCH START a // PATCH END)
    • použít nástroj, jako je WinMerge, pro porovnání existujícího zdroje s novým zdrojem a kopírování v případě potřeby.
    • budete muset dávat pozor v případě, že se změnila oblast kódu, kterou kopírujete napříč, a proveďte příslušné změny v opravách
    • uvědomte si, že se jedná o „nikdy nekončící“ práci, která zabere fakturovatelný čas, ledaže si za to můžete svého klienta znovu zaplatit.
  2. Můžete způsobit problémy s kompatibilitou s pluginy, které očekávají, že jádro bude fungovat určitým způsobem - to bude vyžadovat další testování

Někdy je to 100% nevyhnutelné, ale téměř vždy můžu přijít s jiným způsobem, jak dosáhnout věcí, nebo změnit spec kvůli pravděpodobným nákladům na čas strávený tím. Je to jen noční můra údržby a mnoho lidí chodí na hacking jádro, místo aby hledalo správné řešení.

2
Dan Smart