如何在不编辑插件的情况下修改wordpress插件函数?
我正在使用wordpress,我搜索修改插件函数,而不编辑插件,以便在更新后不中断函数 但我还没有找到解决办法。你能帮我吗如何在不编辑插件的情况下修改wordpress插件函数?,wordpress,function,plugins,Wordpress,Function,Plugins,我正在使用wordpress,我搜索修改插件函数,而不编辑插件,以便在更新后不中断函数 但我还没有找到解决办法。你能帮我吗 提前感谢我已经多次遇到这个问题。正如其他人所说,您不能修改PHP函数。扩展类将不起作用,因为插件将实例化原始类,而不是扩展版本 最好的解决方案(已经为我工作了好几次)是向现有插件添加挂钩,然后按如下方式提交给原始作者: 如果原来的插件在github上,请分叉并克隆它。否则,将原始插件放在本地的git控件下。您可能需要稍后执行差异或回滚 创建一个名为WPML扩展(或其他)的新
提前感谢我已经多次遇到这个问题。正如其他人所说,您不能修改PHP函数。扩展类将不起作用,因为插件将实例化原始类,而不是扩展版本 最好的解决方案(已经为我工作了好几次)是向现有插件添加挂钩,然后按如下方式提交给原始作者:
git
控件下。您可能需要稍后执行差异或回滚李>
git diff
保存补丁,以便以后可以重新应用。将补丁提交给最初的插件作者,希望一切顺利。如果您坚持只使用操作和过滤器,作者很可能会立即接受您的更改git-rebase
重播更新插件后所做的更改您能指定要修改的插件吗?不幸的是,大多数插件的编写方式都不允许在不修改代码的情况下覆盖它们的功能,但是如果你幸运的话,你想要编辑的插件可能会让你使用钩子和过滤器来完成。我想修改WPML插件。但是do_action()钩子并没有出现在这个插件的大多数函数中。如果它是一个类,你可以尝试扩展这个类。谢谢你的回复。我将尝试扩展WPML类。您不能覆盖PHP函数-您只能通过扩展原始类并在类中定义这些函数来覆盖类方法(属于类的函数)。扩展WPML类的问题是看您是否可以实际使用自己的类而不是WPML类(我假设他们使用自己的类进行函数回调)。查看它们是否生成一个全局变量-类似于
$wpml=new WMPL()代码>-如果有,请查看您是否可以访问它。如果可以,您将能够覆盖它。