web-dev-qa-db-ja.com

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

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

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


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

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

この質問は、参照として使用できるWordPressコアを決してハッキングしてはならない理由の集合作業の紹介を目的としています。追加するものがある場合は、質問として自由に追加してください。

8
googletorp

Coreをハックしない最大の理由は、あなたがしていることは何でもcoreのためのパッチとして作り直すべきだということです!

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

多くの場合、これには難しい問題解決と面倒な作業が必要になることがありますが、実際には起こりません。 問題を解決するためのフックが既にあります したがって、コアをハックする必要はありません。

本当にフックがないという稀なシナリオでは、あなたのフックが存在する必要がある理由を説明するためだけにtracに投稿する必要があります。新しいフックがコミットされた場合は、コアを一時的に1行でハックする必要があります。次回のアップデート時に心配する必要はありません。

たとえあなたがCore tracで物事を成し遂げることに悩んでいたとしても(少なくとも物事をコミットするにはいくらか納得がいくまでかかります)、あなたは少なくともあなたのコアハックを可能な限り最小限にしました。 WPを更新するとき、コアに挿入したすべてのコードを更新する必要のある1行に置き換えたので、プラグインは同じままになります。

6
jerclarke

WordPress Codex から直接これを信じています。

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

:)

3
MikeSchinkel

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

3
Tom J Nowell

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

警告は多かれ少なかれ )への文化的な副参照でした。「あなたは自慰行為をするたびに...神は子猫を殺します」画像キャプション そして、明らかに楽しいことを意味します。ただし、 "ハッキングwordpress core" "masturbating"が表示されました。これはおそらくかなりの人気につながっています。

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

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

ユーザーに(これが何であるかを理解していないかもしれない)ユーザーに冗談を言って馬鹿げていると伝えるのではなく、ユーザーを励まして教育する方がよいでしょう。

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

したがって、開発者の手を見て格言を判断する場合、それは純粋に冗談であり、単に下品な文化的参照にすぎません。

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

1
hakre

問題を解決するためにコアをハックする必要があるのは、3年半の時間がありました。

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

2)非常に詳細なログ記録を追加して、ユーザーが遭遇した非常に具体的な問題を突き止めようとしました。日常の状況ではなく、機能に関連するものでもありません。

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

3b)コメント管理リンクを変更するにはcoreを修正する必要があると思いましたが、掘り下げている間に、以前は知らなかったいくつかのフックを見つけ、プラグインとして機能を実装することができました。

1
gabrielk