問題描述
為什麼?
有時修改 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。