实际上我在WordPress商店定位器中更改了一些代码。我希望它在插件更新时保留。所以我想为此创建一个子插件。关于如何管理它的任何想法?
答案 0 :(得分:3)
这会改变插件的插件,有时甚至不可能,有时插件有文档可以轻松扩展(例如WooCommerce和Gravity Forms)。其中一些创建Action Hooks with do_action()
,可以让您轻松扩展功能。一个常见的例子是在使用gform_after_submission
挂钩提交重力表后更新帖子。
实际上,它取决于您想要做什么,以及插件如何实现您想要更改的功能。如果他们使用Closure或Anonymous Function添加文字,则修改所述文字会更加困难,您可能需要查看一些奇怪的内容,例如使用{{3}执行运行时查找和替换},通常在Output Buffering挂钩上。
如果你想删除一个插件所做的事情,你通常可以用template_redirect
取消它。这可能有点棘手,具体取决于插件的实例化方式,有时简单如下:
remove_action( 'some_hook', 'function_to_remove' );
其他时候它更复杂,如:
global $plugin_class_var;
remove_action( 'some_hook', array($plugin_class_var, 'function_to_remove') );
这些是扩展(甚至缩小&#39 ;?)插件功能的基础知识,并且它总是可以适当地执行。不幸的是,对你的问题的狭隘答案超出了我们可以从StackOverflow提供的范围。
从这里开始,您需要弄清楚完全您要对插件做什么,并深入了解插件的文件以查看是否存在您可以使用的适当的钩子或功能。如果您仍然遇到问题,则需要发布一个新问题(不要更新此问题)并附上完全期望的结果以及您尝试过的任何内容,以及随之而来的相关代码。 "我想更改插件而不编辑核心文件"不够具体。 "我想用这个插件中的自定义图标替换一个图标,这是我尝试过的"具体到可能回答。
祝你好运!答案 1 :(得分:2)
根据WordPress标准,它被称为插件的插件。
如果插件提供了更新该功能的任何操作,那么您可以将它与您的插件(子插件)一起使用。
我在这里发送一个链接供参考。 https://developer.wordpress.org/reference/functions/add_action/
答案 2 :(得分:0)
我只是经历了一次自我,经历了太多的变化,以至于我不能仅仅覆盖动作。
我创建了此工具,该工具可让您创建类似于子主题的子插件。您可以对插件进行更新,并且仍然可以对其进行更新而不会丢失更改。
我将其发布在这里是因为它与之相关,希望对下一个遇到此问题的人有用。