当插件更新时,为某些php代码挂接重写函数的最佳方式是什么?

时间:2014-02-12 作者:NetConstructor.com

我经常对从WP存储库安装的插件进行大量定制。通常,我发现自己进行这些编辑的原因是为了修复、重写或删除插件可能执行的某些功能,例如:

插件会自动将新菜单/子菜单插入到不需要的位置,我希望根据我的组织将其标准化最终,我最终进行的编辑对于每个插件和/或其文件都是完全唯一的。

我经常遇到的问题是在手动更新每个插件的代码的同时保持最新版本。

我相信用户处理这个问题的典型方式是编写一个优先于插件功能的函数(正确吗?)。当我想要编辑的插件/函数很简单时,我可以理解这种方法工作得很好,但其中一些插件本质上非常复杂,似乎这可能不是最好的方法。

我真正希望的是一种干净的方法,能够在插件更新之前,在插件的新源代码/文件上自动执行一种类型的regex“查找并替换”。我理解这种方法绝不是防弹的,插件/代码总是在变化,但是像这样的函数类型将非常有用。。。有什么建议吗?

1 个回复
SO网友:Rarst

这个问题没有干净的解决方案,因为任务是肮脏的您真的应该以适当的方式进行这些修改。

如果我一定要这么做(甚至可能是针对特定插件,而不是规模),我会考虑在版本控制中作为供应商分支维护我的更改,并在新版本上重新设置基础。即使这样,它也不是真正方便或维护轻的解决方案。

结束

相关推荐

Plugins_url函数混合了系统路径和URL

在我的WordPress小部件中,我使用以下代码:wp_register_script(\'jquery-ui.widget\', plugins_url(\'assets/js/jquery-ui-1.9.2.widget.js\', dirname( __FILE__ ))); 不幸的是,代码给了我一个无效的URL,它与我的系统路径混合在一起:http://test.dev/wp-content/plugins/C:/projects/wordpress/plugins/assets/js/