wordpress - 如何在不编辑插件的情况下修改 wordpress 插件功能?

标签 wordpress function plugins

我正在使用 wordpress,我搜索修改插件功能而不编辑插件 更新后不中断功能 .

但我还没有找到解决办法。你能帮助我吗 ?

提前致谢

最佳答案

我多次遇到这个问题。正如其他人所说,您不能修改 PHP 函数。扩展类将不起作用,因为插件将实例化原始类,而不是您的扩展版本。

最好的解决方案(已经为我工作了好几次)是在现有插件中添加钩子(Hook)并提交回原作者,如下所示:

  • 如果原始插件在 github 上,请 fork 并克隆它。否则,将原插件放在git下本地控制。您可能需要稍后进行差异或回滚。
  • 创建一个名为 WPML-extensions(或其他)的新插件
  • 在原始插件代码中搜索要使用的操作或过滤器。如果它们已经可用并且可以满足您的需要,请通过从 WPML 扩展插件连接到它们来使用它们。
  • 如果 WPML 插件中不存在正确的钩子(Hook),请添加它们,然后按照上述步骤操作。尝试使用最新版本的原始插件,以最大限度地提高您的更改被接受的机会。
  • 如果您通过添加操作或过滤器修改了原始插件,请执行 git diff保存补丁,以便您以后可以重新应用它。将补丁提交给原始插件作者并希望最好。如果您只坚持操作和过滤器,作者很可能会立即接受您的更改。
  • 如果您稍后更新原始插件,则需要重新应用您的更改,直到它们被接受。您可以使用该差异文件。可能有办法使用git rebase重播更新插件后所做的更改。
  • 关于wordpress - 如何在不编辑插件的情况下修改 wordpress 插件功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377297/

    相关文章:

    c - 复杂函数定义中的参数范围

    php - Joomla 获取插件 ID

    Eclipse插件开发无法实例化类由于java.lang.NoClassDefFoundError :

    NetBeans 作为 ColdFusion 脚本的编辑器?

    php - 自定义 WordPress 主题 : Only Two Pages showing blank screen?

    php - Woocommerce - 产品页面上的添加到购物车和立即购买按钮

    html - 使用导致问题的插件将 html 复制到 wordpress

    c++ - 什么是递归启动函数?

    php - WordPress 创建新帖子时保存翻译帖子

    c - 需要在函数前加上 (void)