实际上,我已经在WordPress商店定位器中更改了一些代码。我想让它在插件更新时保持不变。所以我想为此创建一个子插件。你有什么建议吗?我该怎么做呢?
发布于 2018-06-09 04:44:16
这是不同的插件,有时甚至是不可能的,其他时候插件有文档可以很容易地扩展它们(例如WooCommerce和重力表单)。他们中的一些人创建的Action Hooks with do_action()让您可以轻松地扩展功能。一个常见的例子是在使用gform_after_submission钩子提交重力表单后更新帖子。
实际上,这取决于您想要做什么,以及插件如何实现您想要更改的功能。如果他们使用Closure或Anonymous Function添加文本,那么修改这些文本将变得更加困难,而且您可能不得不考虑一些奇怪的事情,比如使用Output Buffering执行运行时查找和替换,通常是在template_redirect钩子上。
如果你想移除某个插件所做的事情,你通常可以用remove_action来解除它。这可能有点棘手,这取决于插件是如何实例化的,有时它就像这样简单:
remove_action( 'some_hook', 'function_to_remove' );其他时候就更复杂了,比如:
global $plugin_class_var;
remove_action( 'some_hook', array($plugin_class_var, 'function_to_remove') );这些都是扩展(甚至是“收缩”?)的基础。一个插件的功能,它并不总是合适的。不幸的是,您的问题的狭义答案超出了我们可以从StackOverflow提供的范围。
从这里开始,你需要弄清楚你想要对插件做什么,并深入研究插件的文件,看看是否有合适的钩子或函数可以使用。如果你仍然被卡住了,你需要发布一个新的问题(不要更新这个问题),包括你的确切的期望结果,你尝试过的任何东西,以及伴随它的相关代码。“我想在不编辑核心文件的情况下更改插件”还不够具体。“我想在这个插件中用一个自定义图标替换一个图标,这是我已经尝试过的”足够具体到可能的答案。
祝好运!
发布于 2018-06-09 02:56:25
根据WordPress标准,它被称为插件插件。
如果插件提供了任何更新该功能的操作,那么您可以将其与您的插件(子插件)一起使用。
在这里我发送了一个链接以供参考。https://developer.wordpress.org/reference/functions/add_action/
发布于 2020-03-27 03:53:39
我只是通过我自己,我有太多的变化,我不能只是覆盖的行动。
我创建了这个工具,它允许你创建一个像子主题一样的子插件。您可以对插件进行更新,并且仍然可以在不丢失更改的情况下更新它。
我在这里张贴这篇文章是因为它相关,并希望对遇到这个问题的下一个人有用。
https://stackoverflow.com/questions/50766761
复制相似问题