问题描述
为什么?
有时修改 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。