Aus welchen Gründen sollten Sie WordPress-coredateien nicht hacken?

Oft eine schnelle Lösung für ein Problem, kann durch das Hacken des WordPress-cores getriggers werden, der den Code ändert, der WordPress selbst ist.

Dies ist ein sehr gefährlicher Weg! Tu es nie, niemals!


Sie können jederzeit ändern, wie WordPress funktioniert, indem Sie Plugins verwenden. Dies kann manchmal ziemlich mühsam und schwierig sein, aber die zusätzliche Arbeit überwiegt immer die Probleme, die man durch Ändern des WordPress-cores selbst bekommt.

Einige würden sagen, dass es Situationen geben kann, in denen das Hacken des cores die einzige Lösung ist, aber wenn Sie hier Fragen stellen, sind Sie definitiv nicht in dieser Situation .

Diese Frage soll eine Einführung in eine kollektive Arbeit sein, warum Sie niemals den WordPress-core hacken sollten, den wir als Referenz verwenden können. Wenn Sie etwas hinzufügen möchten, können Sie es als Frage hinzufügen.

Solutions Collecting From Web of "Aus welchen Gründen sollten Sie WordPress-coredateien nicht hacken?"

Der beste Grund, den core nicht zu hacken, ist, dass alles, was du tust, als Patch für Core überarbeitet werden sollte!

Offensichtlich würde ALLER Code nicht ein guter Patch sein, oder zumindest würde es das selten tun. Stattdessen müssen Sie herausfinden, welcher Hook (Aktion oder Filter) im Core fehlt, damit Sie ohne Hacker-core alles machen können, was Sie tun müssen. Wir müssen den core nicht hacken, wenn es adäquate Filter / Aktionen gibt, so dass das Finden des fehlenden Hooks immer die Notwendigkeit des corehackens beseitigt.

Dies kann oft einige schwierige Problemlösung und knifflige Beinarbeit erfordern, aber häufiger dann nicht, was passiert, wenn Sie entdecken, dass es bereits einen Haken gibt, um Ihr Problem zu lösen , so müssen Sie core nicht hacken!

In dem seltenen Szenario, in dem es wirklich keinen Haken gibt, müssen Sie nur auf Trac posten, um zu erklären, warum Ihr Haken existieren muss. Wenn Sie Ihren neuen Hook festgeschrieben bekommen, dann haben Sie einen temporären 1-Zeilen-Hack-to-Core, von dem Sie sich beim nächsten Update keine Gedanken machen müssen.

Selbst wenn es dir schwer fällt, im Core-Trac etwas zu erledigen (es braucht etwas Überzeugendes, um etwas zu erledigen), hast du deinen core-Hack zumindest auf ein Minimum reduziert: 1 Codezeile für deine Aktion / deinen Filter. Wenn du WP aktualisierst, hast du nun den ganzen Code, den du in den Core geschoben hast, durch eine Zeile ersetzt, die aktualisiert werden muss, und dein Plugin kann gleich bleiben!

Es gibt auch die Tatsache, dass, sobald Sie WordPress auf die neueste Version upgraden, alle Ihre Änderungen an den coredateien überschrieben werden

Ich glaube das, direkt aus dem WordPress Codex , sagt alles:

Foto: Hack nicht WordPress Core; Oder das Kätzchen!

🙂

Ich habe dreieinhalb Mal gebraucht, um einen core zu hacken, um ein Problem zu lösen.

1) War ein Bug behoben. Ich habe es zusammen mit einem Diff-Patch als einen Fehler in Trac gemeldet. Die functionalität wird in der nächsten Version von WP bereits überarbeitet, wodurch der Fehler grundsätzlich ungültig wird. Bis dahin kann ich den Patch, den ich bei aktuellen / neuen Installationen erstellt habe, problemlos anwenden.

2) Fügen Sie eine sehr detaillierte Protokollierung hinzu, um ein sehr spezifisches Problem zu finden, das einem Benutzer aufgefallen ist. Nicht eine alltägliche Situation und sicherlich keine functionalität.

3a) Ich wollte in WP 2.8.5 ein zusätzliches Feld zu den Kategorien hinzufügen. Die eingebauten Hooks, um dies zu tun, funktionierten nicht richtig (bekanntes Problem), und ich glaube, dass dieses spezielle Problem in der 2.9-Struktur behoben wurde. Am Ende des Tages war die Implementierung errorshaft und wir haben das Feature so umgestaltet, dass es auf eine andere Art und Weise funktioniert, die keine coremodifikation erforderte.

3b) Ich dachte, ich müsste den core modifizieren, um die Links zur Kommentarmoderation zu ändern, aber während ich herumgrabe, habe ich einige Hooks gefunden, die ich vorher nicht kannte und die das Feature als Plugin implementieren konnte.

Diese Warnung ist viel zu alt, lange vor den Zeiten von dezentralen Versionskontrollsystemen wie Git . Damals, um den core zu hacken, mussten Sie Ihre Änderungen als eigene Patches beibehalten. Da einige (meist unerfahrene Entwickler, die an WordPress fummeln) keine Patches zum Verfolgen ihrer Änderungen machten, gab es ein Problem: Am Ende hatten sie Probleme, Worpdress auf die neue Version zu aktualisieren, und der Spruch wurde geboren.

Die Warnung war mehr oder weniger eine kulturelle Seite-Referenz zu der “Jedes Mal, wenn Sie masturbieren … Gott tötet ein Kätzchen” Bildunterschrift und offensichtlich als Spaß gemeint. Allerdings wurde die Analogie zwischen “hacking wordpress core” und “masturbieren” angesprochen. Dies hat wahrscheinlich zu einiger Beliebtheit geführt.

Sicher Hacking Core ist ein zweiseitiges Schwert und ich denke, das ist der Grund, warum Sie gefragt haben.

Vor allem ist es absolut gültig, möglich und machbar sowohl in Vergangenheit als auch Gegenwart, um core zu hacken. In der Vergangenheit mit Patch-Sets und noch einfacher heute mit git und dem Git Repo von WordPress auf Github .

Anstatt den Benutzern (die vielleicht nicht einmal verstehen, worum es geht) zu sagen, dass sie dumm sind, indem sie Witze über sie machen, ist es besser, sie zu ermutigen und zu erziehen.

Außerdem, und das ist eine der dunkleren Seiten in der WordPress-Geschichte, fördert die WordPress-Community hier nicht gut. Obwohl es die Benutzer dazu ermutigt, Änderungen upstream zu bringen (das heißt in das ursprüngliche Code-Repository), was normalerweise eine gute Sache ist, hat WordPress nicht für die Bibliotheken getan, die sie aus Upstream-Quellen in ihren Baum übernommen haben. Halten Sie diese Sprüche also leicht, es ist nichts, was WordPress- Lead- und Core- Entwickler für den Code getan haben, den sie von anderen übernommen haben.

Wenn Sie also nach dem Sprichwort beurteilen, indem Sie sich die Entwicklerhände ansehen, ist das nur ein Scherz, es ist nur eine vulgäre kulturelle Referenz.

Der beste Vorschlag, den ich geben kann, ist, wenn Sie ein Entwickler sind und Änderungen an Core vornehmen möchten, tun Sie es. Mach es so, wie es dir gefällt , nicht anderen. WordPress ist aus einem Grund Freie Software und du solltest stolz darauf sein und was du damit machst. Öffentlich oder privat. Wenn Sie nach Möglichkeiten suchen, dies machbarer zu machen, erstellen Sie einen Workflow um diese herum, wie Sie es auch bei anderen Entwicklungsaufgaben tun würden.