首页 > 解决方案 > 如何为 wordpress 创建子插件

问题描述

实际上我已经更改了 WordPress Store Locator 中的一些代码。我希望它在插件更新时保留。所以我想为此创建一个子插件。关于如何管理它的任何想法?

标签: wordpresswordpress-plugin-creation

解决方案


这因插件而异,有时甚至不可能,有时插件有文档可以轻松扩展它们(例如 WooCommerce 和 Gravity Forms)。其中一些创建了Action Hooksdo_action(),让您可以轻松扩展功能。gform_after_submission一个常见的例子是在使用他们的钩子提交重力表单后更新帖子。

实际上,这取决于您想要做什么,以及插件如何实现您想要更改的功能。如果他们使用ClosureAnonymous 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 提供的范围。

从这里开始,您需要弄清楚您想用插件做什么,并挖掘插件的文件,看看是否有合适的钩子或函数可以使用。如果您仍然卡住,您需要发布一个新问题(不要更新这个问题),其中包含您想要的确切结果和您尝试过的任何内容,以及随之而来的相关代码。“我想在不编辑核心文件的情况下更改插件”还不够具体。“我想用这个插件中的自定义图标替换一个图标,这就是我尝试过的”足够具体,可以回答。

祝你好运!


推荐阅读