問題描述
為什麼?
有時修改 WordPress 本身或外掛行為的簡單方法可能是直接更改外掛或 WordPress 的檔案。當提出這樣的想法時,通常的回應是:
Don’t hack core.
為什麼更改核心檔案通常是個壞主意?
考慮?
然而,有時候,對網站來說至關重要的事情根本就不可能做到,而不用改變核心檔案。在這種情況下,您需要注意什麼,才能開始攻擊核心?
怎麼樣?
您已考慮所有選項,但唯一的解決方案是駭客核心檔案。你應該如何去做這個?如何改變核心,影響工作流程,如更新?
最佳解決方案
如果你必須打破核心,考慮這樣做,使其可以擴充套件到別人。
新增動作鉤
十分之九,如果只有特定檔案中有一個額外的 do_action 呼叫,則可以執行所需的操作。在這種情況下,新增動作,記錄它,並透過 Trac 提交補丁。如果你的補丁有一個很好的理由 (即你不是唯一可以使用它的人),那麼你可以將其新增到核心。
接下來,構建一個自定義的 plug-in(你不必釋出/分發它),它連線到這個新的鉤子,並執行你需要做的任何功能。
重構一個核心檔案
其他時候,您可能只需要一段程式碼來表現不同。例如,透過引用傳遞變數,或者返回一個值而不是 echo 。花點時間坐下來重構程式碼,這樣做就可以做到這一點,然後透過 Trac 提交補丁,這樣我們其他人就可以從你的工作中受益。
你在這裡發現一個主題嗎?駭客核心不一定是 no-no … 大多數開發人員將高度阻止新使用者或新手程式設計師 (如果您要求我們如何做某些事情,我們會建議每次使用 plug-in,甚至考慮向您提出建議駭客核心) 。
駭客核心是 WordPress 開發和發展的方式,但對於剛剛學習 PHP 或沒有使用 WP 檔案的經驗的人來說,這是危險的。在觸控核心之前,請先從 plug-in 開始 – 如果您打破 plug-in,您可以快速解除安裝它 (如有必要,可透過 FTP 進行刪除)… 但是如果您打破了核心,那麼您的站點和潛在的資料庫也會發生壞事。
但是如果你處於一個核心駭客是不可避免的情況,那麼做出改變。另外,將您的更改釋出在突出位置 (如果您的部落格高度可見,這可能足夠了… 但我建議 Trac,因為這是社群更改如何被拉入下一個版本) 。您的更改可能是可以解決百個不同網站中的問題的魔法子彈,因此可以幫助您構建您的網站。
如果變更得到承諾,那麼您的駭客成為核心的一部分,您將來不用擔心。如果沒有,至少你有詳細的檔案說明如何 re-implement 在 3 個月內升級 WP 後的駭客。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。