it-swarm-eu.dev

Jaké jsou důvody, proč byste neměli hackovat soubory jádra aplikace WordPress?

Často je rychlé řešení problému,canvyřešeno hackováním jádra WordPressu, kterým je změna kódu, který je samotný WordPress.

Je to velmi nebezpečná cesta! Nedělej to, nikdy!


Pomocí pluginů můžete vždy změnit způsob fungování aplikace WordPress. To může být někdy poněkud únavné a obtížné, ale navíc práce vždy převažuje nad problémy, které dostanete změnou samotného jádra WordPressu.

Někteří by říkali, že mohou existovat situace, kdy hackování jádra je jediné řešení, ale pokud se ptáte na otázky, rozhodně nejste v této situaci .

Tato otázka má být úvodem do kolektivní práce, proč byste nikdy neměli hacknout jádro WordPressu, které můžeme použít jako reference. Pokud chcete něco přidat, můžete jej přidat jako otázku .

8
googletorp

Nejlepším důvodem pro to, aby nedošlo k zaseknutí jádra, je to, že vše, co děláte, by mělo být místo toho přepracováno jako patch pro jádro!

Je samozřejmé, že VŠECHNY vaše kódy by neudělaly dobrý patch vůbec, nebo by to alespoň zřídka bylo. Místo toho musíte zjistit, co hák (akce nebo filtr) chybí v jádru, které by vám umožnilo dělat, co je potřeba udělat bez hackování jádra. Nepotřebujeme hack jádro, když jsou odpovídající filtry/akce, takže zjištění, co chybějící háček bude vždy odstranit potřebu hack jádro.

To může často vyžadovat nějaké těžké řešení problémů a složité legwork, ale častěji pak ne, co se stane, je, že zjistíte, že tam je hák vyřešit váš problém , takže nemusíte hack jádro!

Ve vzácném scénáři, kde opravdu není žádný háček, stačí poslat na trac vysvětlující, proč musí váš háček existovat. Pokud se vám nový háček zaváže, máte dočasný 1-řádkový hack do jádra, který se nemusí obávat příští aktualizace.

Dokonce i když váš sát při získávání věcí v Core Trac (to trvá nějakou přesvědčivou dostat věci spáchané), máte alespoň vařené jádro hack na minimum možné: 1 řádek kódu pro vaše akce/filtr. Při aktualizaci WP jste nyní nahradili celý kód, který jste vložili do jádra, jedním řádkem, který je třeba aktualizovat, a váš plugin může zůstat stejný!

6
jerclarke

Věřím tomu, přímo z WordPress Codex , říká vše:

Photo: Don't Hack WordPress Core; Or the Kitten Get's it!

:)

3
MikeSchinkel

Tam je také skutečnost, že jakmile upgradu wordpress na nejnovější verzi všechny vaše změny na základní soubory jsou přepsány

3
Tom J Nowell

Toto varování je staré, mnohem dříve, než je tomu u decentralizovaných systémů pro správu verzí, jako Git . V těchto dnech, k hack jádru, jste potřebovali, aby se vaše změny jako sada patchů vlastní. Vzhledem k tomu, že někteří (většinou nezkušení vývojáři, kteří si hrají s Wordpressem) neudělali záplaty, aby sledovali jejich změny, narazili na problém: Nakonec měli problémy s aktualizací Worpdress na novou verzi a slovo se zrodilo.

Varování bylo víceméně kulturním vedlejším odkazem na "Pokaždé, když masturbujete ... Bůh zabíjí kotě" titulek obrázku a zjevně znamenal zábavu. Nicméně, analogie mezi "hacking wordpress core" a "masturbující" byla vychována. Toto pravděpodobně vedlo k docela nějaké popularitě.

Jistě hacking jádro je oboustranný meč a myslím, že to je důvod, proč jste se ptali.

V první řadě je to naprosto platné, možné a proveditelné jak v minulosti, tak i v současnosti hack core. V minulosti s patch-sety a ještě snadnější dnes pomocí git a git repo Wordpress veřejně dostupné na Github .

Namísto toho, aby říkali uživatelům (kteří možná ani nepochopili, o co se jedná), jsou hloupí tím, že o nich vtipují, je lepší je povzbuzovat a vzdělávat.

Také, a to je jedna z temnějších stran v historii Wordpressu, komunita Wordpressu zde nepodporuje dobře. I když to nějakým způsobem vybízí uživatele k tomu, aby přinášeli změny upstream (to znamená do původního repozitáře kódů), což je normálně dobrá věc, Wordpress pro knihovny, které převzal do svého stromu, ze zdrojových zdrojů neudělal. Takže tyto výroky udržujte lehce, není to nic Wordpress lead a core vývojáři následovali kód, který převzali od ostatních.

Pokud tedy posuzujete podle toho, že se díváte na vývojáře, je to čistě vtip, je to jen vulgární kulturní odkaz.

Nejlepší návrh, který mohu dát, je, pokud jste vývojář a chcete provést změny jádra, udělejte to. Udělej to tak, jak se to líbí ty ne jiní. Wordpress je svobodný software z nějakého důvodu a vy byste na něj měli být pyšní a co s ním děláte. Veřejně nebo soukromě. Pokud hledáte způsoby, jak to učinit proveditelnějším, vytvořte kolem něj pracovní postup, stejně jako byste dělali jiný druh vývojové práce.

1
hakre

Tam byly 3 a půl krát jsem potřeboval hack jádro vyřešit problém.

1) Byla opravena chyba. Oznámil jsem to jako chybu v Trac spolu s patchem diff. Tato funkce je již přepracována v další verzi aplikace WP, která chybu zásadně ruší. Do té doby můžu snadno aplikovat patch, který jsem vytvořil na aktuální/nové instalace.

2) Přidalo se velmi podrobné protokolování, aby se pokusil sledovat velmi specifický problém, se kterým se uživatel setkal. Není to každodenní situace a rozhodně ne funkčnost.

3a) Chtěl jsem přidat další pole do kategorií v WP 2.8.5. Vestavěné háčky, které to udělaly, nefungovaly správně (známý problém), a věřím, že tento konkrétní problém byl vyřešen ve stromu 2.9. Na konci dne byla implementace vadná a funkce jsme přepracovali tak, aby fungovala jiným způsobem, který nevyžadoval základní úpravu.

3b) Myslel jsem, že jsem potřeboval upravit jádro, abych změnil odkazy na moderování komentářů, ale když jsem kopal kolem, našel jsem nějaké háčky, o kterých jsem dříve nevěděl, a byl schopen implementovat funkci jako plugin.

1
gabrielk