WordPressコアファイルをハッキングしてはならない理由は何ですか?


9

多くの場合、問題の迅速な解決策は、WordPressコアをハッキングすることで解決できます。つまり、WordPress自体のコードを変更します。

これは非常に危険な道です!絶対にやらないで!


プラグインを使用すると、WordPressの動作をいつでも変更できます。これはときどき面倒で難しい場合がありますが、WordPressコア自体を変更することで生じる問題よりも、余分な作業の方が常に勝っています。

コアをハッキングすることが唯一の解決策である場合もあると言う人もいますが、ここで質問をしている場合あなたは間違いなくその状況ではありません

この質問は、WordPressコアをハッキングしてはならない理由をまとめたものであり、リファレンスとして使用できるようにするためのものです。追加するものがあれば、遠慮なく質問として追加してください。


@googletorpおいおい
MikeSchinkel

私は1つはそれを行うべきではありませんことに同意していない、元の質問は、私はこの質問にdownvoteを与えるので、理由を指していることをいくつかの答えを持っています。さらに、あなたがここで質問をしているのなら、あなたは間違いなくそのような状況にいないということにも同意しません。これも専門家向けのサイトなので、コアのハッキングに関する質問は検閲しないでください。しかし、おそらくメタサイトでさらに議論する必要があります
Jan Fabry

回答:


5

コアをハッキングしない最大の理由は、代わりにコアのパッチとしてやり直す必要があるということです!

明らかに、すべてのコードが適切なパッチを作成することはできません。少なくとも、パッチが作成されることはほとんどありません。代わりに、コアをハックせずに必要なことをすべて実行できるようにする、コアに欠落しているフック(アクションまたはフィルター)を把握する必要があります。適切なフィルター/アクションがある場合、コアをハックする必要はありません。そのため、不足しているフックが何であるかを見つけると、コアをハックする必要が常になくなります。

多くの場合、これは難しい問題解決とトリッキーなレッグワークを必要としますが、ほとんどの場合、問題を解決するためのフックがあることに気付くことがないため、コアをハックする必要はありません。

フックが実際にないまれなシナリオでは、フックが存在する必要がある理由を説明するために、tracに投稿する必要があります。新しいフックがコミットされると、次に更新するときに心配する必要がない、コアへの一時的な1行のハックがあります。

Core Tracで物事を成し遂げるのが面倒だとしても(物事をコミットさせるにはある程度の説得力が必要です)、少なくともコアハックを可能な限り最小限に抑えています:アクション/フィルター用の1行のコード。WPを更新すると、コアに押し込んだすべてのコードを更新する必要がある1行に置き換えました。プラグインは同じままでかまいません。


@ジェレミークラーク -いいね!
MikeSchinkel、

3

ワードプレスを最新バージョンにアップグレードすると、コアファイルに対するすべての変更が上書きされるという事実もあります。


これは、技術的にではなく(インストールを編集しても問題にならないように整理できる)元の理由でしたが、ユーザーがWordpressサポートフォーラムで更新によってサイトが破損したと苦情を述べたためです。多くの場合、アップグレードはそれ自体で問題を引き起こしましたが、一部のユーザーは、少なくとも「ユーザーが作成した」問題の数を少なくして、方程式からはずしたいと考えていました。
2013年


1

この警告はかなり古く、Gitのような分散型バージョン管理システムが登場する以前の時代でした。当時、コアをハックするには、変更を独自のパッチのセットとして保持する必要がありました。一部(ほとんどが経験の浅い開発者がWordpressをいじる人)は、変更を追跡するためのパッチを作成しなかったため、問題が発生しました。結局、Worpdressを新しいバージョンに更新することに問題があり、発言が生まれました。

警告は多かれ少なかれ、「あなたが自慰行為をするたびに…神は子猫を殺す」というイメージのキャプションへの文化的な副次的言及であり、明らかに楽しいことを意味していました。しかし、「ワードプレスのコアをハッキングすること」「自慰行為」の間の類似性が持ち上がりました。これはおそらくかなりの人気につながっています。

確かにハッキングのコアは両面の剣であり、これがあなたが尋ねた理由だと思います。

まず第一に、コアをハッキングすることは過去にも現在にも完全に有効であり、可能であり、実現可能です。Githubで一般公開されているWordpressの gitとgit repoを使用することで、過去にパッチセットを使用してさらに簡単になりました。

ユーザーに(これが何であるかさえ理解していないかもしれない)冗談を言ってばかげていることを伝えるのではなく、ユーザーを励まして教育することをお勧めします。

また、これはWordpressの歴史の中で最も暗い側面の1つであり、Wordpressコミュニティはここではうまく宣伝していません。これは、ユーザーに変更を上流に(つまり、元のコードリポジトリに)組み込むことを推奨していますが、Wordpressは上流のソースからツリーに引き継いだライブラリに対しては行いませんでした。したがって、これらのことわざを軽くしてください。Wordpressのリードコア開発者が他の人から引き継がれたコードについて従ったことは何もありません。

したがって、開発者の手を見ながらそのことわざを判断すると、それは単なる冗談であり、単に下品な文化の参照にすぎません。

私ができる最良の提案は、あなたが開発者であり、コアに変更を加えたい場合はそれを行うことです。他の人を喜ばせないようにしてください。Wordpressはフリーソフトウェアであり、それを誇りに思うべきです。公的または私的に。これをより実現可能にする方法を探している場合は、他の種類の開発作業を行っている場合と同じように、その周りにワークフローを作成します。


0

問題を解決するためにコアをハッキングする必要があったのは、3.5年前のことです。

1)バグ修正でした。Tracのバグとして、diffパッチとともに報告しました。この機能はWPの次のバージョンですでに再加工されており、基本的にバグは無効になっています。それまでは、作成したパッチを現在/新規のインストールに簡単に適用できます。

2)非常に詳細なログを追加して、ユーザーが遭遇していた特定の問題を追跡することでした。日常の状況ではなく、機能に関連するものではありません。

3a)WP 2.8.5でカテゴリにフィールドを追加したかった。これを行うための組み込みフックが正しく機能しませんでした(既知の問題)。この特定の問題は2.9ツリーで修正されたと思います。結局、実装に欠陥があり、コアの変更を必要としない別の方法で機能するように機能を再設計しました。

3b)コメントモデレーションリンクを変更するにはコアを変更する必要があると思いましたが、調べていたところ、以前は知らなかったいくつかのフックが見つかり、機能をプラグインとして実装できました。


コアファイルをハッキングする最大の理由は、他の人が必要とする可能性があると思っているのではなく、必要なように機能させることです。これは一時的に(デバッグの例のように)発生する可能性がありますが、元のwordpressパッケージ(wordpress.orgであるか、誰かによって事前にパックされているため)で修正されない問題により、フルバージョンまたはメジャーバージョン全体で発生する可能性もありますそうしないと)。
2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.