如何为Wordpress创建子插件

Jal*_*mar 6 wordpress wordpress-plugin-creation

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

Xhy*_*ynk 5

插件之间会有所不同,有时甚至是不可能的,有时插件具有易于扩展的文档(例如WooCommerce和Gravity Forms)。其中一些创建动作挂钩do_action(),使您可以轻松扩展功能。一个常见的例子是在提交带有重力gform_after_submission钩的重力表单后更新帖子。

实际上,这取决于您要执行的操作以及插件如何实现要更改的功能。如果他们添加带有ClosureAnonymous Function的文本,将很难修改该文本,并且您可能不得不看一些奇怪的事情,例如使用钩子上的Output Buffering进行运行时查找和替换template_redirect

如果您想删除插件所做的事情,通常可以使用取消挂钩remove_action。根据插件的实例化方式,这可能会有些棘手,有时甚至很简单:

remove_action( 'some_hook', 'function_to_remove' );
Run Code Online (Sandbox Code Playgroud)

其他时候更复杂,例如:

global $plugin_class_var;
remove_action( 'some_hook', array($plugin_class_var, 'function_to_remove') );
Run Code Online (Sandbox Code Playgroud)

这些是扩展(或什至“缩小”?)插件功能的基础,并且并不总是能够适当地实现。不幸的是,对于您的问题的狭answer答案超出了我们从StackOverflow可以提供的范围。

从这里,你需要弄清楚究竟你想用插件做什么,并通过插件的文件掏看看有没有合适的钩或功能,您可以使用。如果仍然遇到问题,则需要发布一个新问题(不要更新此问题),其中包含您确切想要的结果以及您尝试过的所有结果以及随之而来的相关代码。“我想在不编辑核心文件的情况下更改插件”还不够具体。“我想在此插件中用自定义图标替换图标,这就是我尝试过的内容”足够具体,可以回答。

祝好运!


Tho*_*ole 5

我只是经历了自己,我发生了很多变化,我不能直接推翻这些行动。

我创建了这个工具,它允许您创建像子主题一样的子插件。您可以对插件进行更新,并且仍然可以更新它而不会丢失您的更改。

我将其发布在这里是因为它与下一个遇到此问题的人相关并希望对其有用。

https://github.com/ThomasDepole/wordpress-child-plugin-tool